Board logo

標題: [發問] 請問如何使圖表上在0點上下的指標顏色分別以不同顏色標示? [打印本頁]

作者: c_c_lai    時間: 2012-3-30 10:09     標題: 請問如何使圖表上在0點上下的指標顏色分別以不同顏色標示?

請問:
在Excel圖表上的指標均為一種顏色標示,如下列附圖。
如果我想要將正值與負值部分別以不同顏色來區分表達,以方便閱覽;
請教各位大大,Excel圖表要如何設定它呢? (如圖示之右下角標示的小圖示)
[attach]10232[/attach]
作者: gstone    時間: 2012-3-30 10:32

本帖最後由 gstone 於 2012-3-30 10:35 編輯

回復 1# c_c_lai

原一欄位的數值改設兩欄
請試試看

若是線圖
07以後的版本似乎不需設NA()
待查證~~~
[attach]10235[/attach]
作者: c_c_lai    時間: 2012-3-30 10:53

真不好意思,我的權限不足無法下載 Book1.rar
我的網址是: [email protected]
能否 E-Mail 給我,謝謝您!
作者: gstone    時間: 2012-3-30 11:20

本帖最後由 gstone 於 2012-3-30 11:23 編輯

回復 3# c_c_lai

沒注意到權限問題~~~
請到這下載

Book1.rar
http://www.funp.net/616974
作者: c_c_lai    時間: 2012-3-30 11:31

請到這下載
Book1.rar
Book1 ???  麻煩E-Mail 給我,謝謝您!
原一欄位的數值改設兩欄?
作者: gstone    時間: 2012-3-30 11:45

免空的網址無法顯示嗎?
ok ~~~ mail 過去了
作者: c_c_lai    時間: 2012-3-30 12:15

沒問題的~~
的確是很少遇到用excel作指標圖的同好,歡迎互相研究!雖然是浪費了儲存空間但目的卻達到。
另外,我曾在此論壇提問過有關圖表內選取資料項:  =統計圖表!$I$2I$904
目前範圍區間我是用寫死的方式,此處能否使用機動判斷最後之行數而亦能同步
寫入到公式裡,假設目前資料已匯入到 1024 列,此時公式則同步修正為 =統計圖表!$I$2I$1024
如此便可機動同步控制實際匯入圖表資料,而將它得以完整正確呈現?
作者: alexliou    時間: 2012-3-30 16:48

回復 1# c_c_lai
要把大於0和小於0的指標量 在Chart中用不同的顏色表示 可用InvertColor 來完成
假設你的指標序列是SeriesCollection(2)
Code 可以如下 :
ActiveChart.SeriesCollection(2).InvertIfNegative = True
ActiveChart.SeriesCollection(2).InvertColor = RGB(n1, n2,n3)
作者: c_c_lai    時間: 2012-3-30 21:36

AlexLiou 大大,因小弟資歷尚淺,您能否E-Mail一個Sample讓小弟實際了解如何運用呢?
非常感激您!
作者: alexliou    時間: 2012-3-31 07:48

回復 9# c_c_lai
sample已寄給你
除了零軸上下指標顏色不同外
你另外問的繪圖資料來源不寫死的情形
裡面也有
作者: c_c_lai    時間: 2012-3-31 18:33

Thanks a lot!
作者: peter460191    時間: 2012-5-10 10:47

回復 10# alexliou

Dear  alexliou

可否將範例檔案上傳供下載研究。
作者: alexliou    時間: 2012-5-10 22:00

回復 12# peter460191

[attach]10896[/attach]
法意部落格裡每日指標追蹤裡有一個Put_call Ratio
我嘗試用Excel VBA來製作它
Put_call ratio 如果大於1 則長條圖位於x軸上方,顯示為藍色,
Put_call ratio 如果小於1 則長條圖位於x軸下方, 顯示為紅色
作者: f3202    時間: 2012-5-11 19:23

感謝 alexliou 分享程式
但我用excel2007執行到
        .SeriesCollection(2).InvertColor = RGB(255, 124, 128)
這行就出現執行階段錯誤:438問題
請問 怎解
作者: alexliou    時間: 2012-5-12 06:24

本帖最後由 alexliou 於 2012-5-12 06:28 編輯

回復 14# f3202
InvertColor是Series 物件在 Excel  2010版本中 的新增屬性
Excel 2007無法使用
作者: f3202    時間: 2012-5-12 19:26

回復 15# alexliou

謝謝 alexliou 版大指教
2007也可作出一般的圖
另外請教折線圖可否調整顏色大小
謝謝
作者: alexliou    時間: 2012-5-13 07:51

本帖最後由 alexliou 於 2012-5-13 09:07 編輯

回復 14# f3202
在程式中處理零軸上下顏色不同,是靠以下這兩行Code
  .SeriesCollection(2).InvertIfNegative = True
  .SeriesCollection(2).InvertColor = RGB(255, 124, 128)
其中InvertIfNegative屬性 設為True, 會讓Excel以補色顯示對應於負數之資料點中的圖樣
InvertColor 則是去設定數列中負資料點的填滿色彩
雖然InvertColor 是Excel 2010的新功能
但 InvertIfNegative 在Excel 2010以前就有了
所以只要 Mark掉有InverColor那一行Code
程式仍可運作, 只是色彩無法讓User自行控制
所以負數的資料點都會呈現黑色 (美觀上遜色了點)
作者: alexliou    時間: 2012-5-13 09:06

本帖最後由 alexliou 於 2012-5-13 09:15 編輯

回復 16# f3202
折線圖並沒直接的辦法來設定不同的顏色
也就是說  InvertIfNegative 與折線圖合用時並不會發揮作用
(線段是連接兩點, InvertIfNegtative 是針對"點")

若要處理折線圖在不同的範圍(可以是X軸, 也可以是不同的Y值)顯示不同的顏色
一般解法是把一個資料數列根據範圍拆成不同的數列
每個序列賦予不同的顏色

PS. 以上說得很簡單 但Implement起來會有新的問題發生
假設第一點的Y值是 10, 第二點的Y值是-5
你想要在0以上的線段和0以下的線段呈現不同的顏色
這樣必需人為插入一點0
如有興趣  可以再討論
作者: f3202    時間: 2012-5-14 09:31

回復 17# alexliou
謝謝 alexliou 版大教學
2007弄出來了
   雖然美感上差些    將就囉




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)