台灣最大程式設計社群網站
線上人數
776
 
會員總數:238815
討論主題:185351
歡迎您免費加入會員
討論區列表 >> VB.NET >> MSCHART的Y軸設定
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
MSCHART的Y軸設定
價值 : 50 QP  點閱數:175 回應數:10

樓主

席翁
門外漢
0 8
277 18
發送站內信

捐贈 VP 給 席翁
不好意思,各位前輩!

我想請問一下,如果說我有計算好的textbox值

我想把它代入到chart的Y軸中~請問我該如何處理?

以下code:
TextBox3.Text = GridView1.Rows(1).Cells(5).Text
TextBox4.Text = GridView1.Rows(1).Cells(7).Text
TextBox5.Text = Val(GridView1.Rows(1).Cells(5).Text) + Val(GridView1.Rows(1).Cells(7).Text)

If CheckBoxList1.Items(2).Selected = True Then
Chart1.Series("Series4").XValueMember = "DAY"
Chart1.Series("Series4").YValueMembers = TextBox5.Text '?
Chart1.Series("Series4").YValueType = AxisType.Primary
Chart1.Series("Series4").XValueType = AxisType.Primary
Chart1.Series("Series4").IsValueShownAsLabel = False

Chart1.Series("Series4").ToolTip = "#VALY"
Chart1.Series("Series4").BorderWidth = 3 '線的寬
Chart1.Series("Series2").MarkerSize = 100
Chart1.Series("Series4").LabelBackColor = Color.DarkOrange

endif

搜尋相關Tags的文章: [ VB ] , [ chart ] , [ textbox ] , [ Y軸 ] ,
本篇文章發表於2017-01-11 08:55
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

QOO
捐贈 VP 給 QOO 檢舉此回應
您好,試試看這個

Chart1.Series("Series1").Points.AddXY(TextBox1.Text, TextBox2.Text)

textbox1是X軸的值,textbox2是Y軸的值

本篇文章回覆於2017-01-11 10:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

席翁
捐贈 VP 給 席翁 檢舉此回應
QOO前輩,感謝你抽空解答,

我剛剛試過您幫我修正後的程式碼

程式是有執行了,但是並沒辦法把計算後的textbox值代入到Y軸中

畫面是呈現無線條的狀態 (本人用 chart LINE)

我想請問我最初是有實驗過ToString

code如下
改成是這樣

Chart1.Series("Series4").YValueMembers = TextBox5.Text.ToString

但它會出現:找不到名為 '6.52' 的資料行 (6.52是我計算過後的結果值)

結果還是不行~
本篇文章回覆於2017-01-11 11:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

QOO
捐贈 VP 給 QOO 檢舉此回應
您好

您有沒有調整一下線條的顏色,預設好像是白的

我一開始跑也覺得奇怪沒有顯示,調整顏色後就能看到了
本篇文章回覆於2017-01-11 12:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

席翁
捐贈 VP 給 席翁 檢舉此回應
QOO前輩

有了,我把數值顯像後有看到了

不過它是呈現"點"的狀態? 不知道是否可以轉成線條呢?






本篇文章回覆於2017-01-11 13:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
不錯的參考

QOO
捐贈 VP 給 QOO 檢舉此回應
啊,不好意思,沒注意到您是用line chart

是line chart的話,那就是有多個點連成的線

所以要加入多次資料值

比方該線通過(2,3),(3,8),(4,5),(5,1)的點

Chart1.Series("Series1").Points.AddXY(2, 5)
Chart1.Series("Series1").Points.AddXY(3, 8)
Chart1.Series("Series1").Points.AddXY(4, 5)
Chart1.Series("Series1").Points.AddXY(5, 1)


本篇文章回覆於2017-01-11 13:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

席翁
捐贈 VP 給 席翁 檢舉此回應
感謝QOO前輩的解答

這方法可行,不過我這還有些疑惑

就是如果說我採用資料庫的方式連結

那我資料庫的A欄位要跟B欄位相加後的結果值要呈現在Y軸上

那是否一定要在資料庫內做運算後才能達到效果? (這樣資料庫會不會很吃資源?)

那麼能不能把在資料庫做運算的方式拿到後端程式中做運算後,再呈現在Y軸上呢?
本篇文章回覆於2017-01-11 14:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

QOO
捐贈 VP 給 QOO 檢舉此回應
假設你的datasource設定的是一個dataset

那你從資料庫取得資料後,使用dataset進行運算,那計算時吃的資源,就在你的程式中了

如果你是在sql語法裡做計算﹐資源的消耗就在資料庫上

本篇文章回覆於2017-01-11 14:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

席翁
捐贈 VP 給 席翁 檢舉此回應
感謝QOO前輩回應

原來是這樣啊,難怪教我的人都說盡量別在資料庫內計算

那麼如果說我把欄位計算放到後端算,我該如何進行才能把值放到Y軸上?
本篇文章回覆於2017-01-11 15:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

QOO
捐贈 VP 給 QOO 檢舉此回應
假設您已經可以將dataset做為chart的資料來源了

那思考的方向就是,我如何在dataset中新增一個欄位C

這個欄位C的值等於欄位A+欄位B

這部分就有關dataset的操作了,可以參考MSDN的說明

新增完成後,變更一下chart的設定應該就可以了


實際動手做做看才會了解問題點在哪邊,到時有了程式碼在討論會更具體
本篇文章回覆於2017-01-11 17:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

席翁
捐贈 VP 給 席翁 檢舉此回應
好的,感謝QOO前輩

感謝您抽空指導!
本篇文章回覆於2017-01-12 08:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.