第12章 PyQtChart二維繪圖
Charts是Qt的一個二維圖表模塊,可以繪制各種常見的二維圖表,如折線圖、柱狀圖、餅圖、散點圖、極坐標圖等,功能比較全面,繪制的圖形效果也比較美觀,是用于數據二維可視化的有力工具。PyQtChart是Qt Charts模塊的Python綁定,它需要單獨安裝。
本章首先介紹PyQtChart模塊的基本特點和功能,以畫折線圖為例介紹用PyQtChart繪制一個二維圖表的程序基本結構,以及一個圖表的各組成部分的程序控制方法,然后介紹散點圖、柱狀圖、餅圖、蠟燭圖等典型圖表的繪制,還有圖表框選縮放、左右雙坐標軸、對數坐標軸、時間日期坐標軸等一些功能的實現。
12.1 PyQtChart概述
12.2 QChart繪制折線圖
實例Demo12_2以繪制折線圖為例,詳細介紹圖表各個部分的設置和操作,包括圖表的標題、圖例、邊距等屬性設置,QLineSeries序列的屬性設置,QValueAxis坐標軸的屬性設置等。程序運行時界面如圖12-5所示。
圖12-5 示例Demo12_2運行時界面
12.3 QChart繪圖高級功能
本節再通過一個實例Demo12_3介紹繪制圖表的一些高級和實用功能的實現,如通過鼠標拖放框選一個范圍放大、顯示鼠標處的坐標數值等。
圖12-11 實例Demo12_3運行時界面
12.4 對數坐標軸和多坐標軸
本節通過實例Demo12_4演示如何使用對數坐標軸QLogValueAxis,以及如何在一個圖表中附加左、右兩個坐標軸,兩個序列的縱軸分別使用左軸和右軸,但是共用底部的橫軸。實例運行時界面如圖12-13所示。
圖12-13 示例Demo12_4運行時界面
12.5 餅圖和各種柱狀圖
圖12-15 實例Demo12_5運行時界面
?
圖12-18 餅圖繪圖界面
12.6 蠟燭圖和日期時間坐標軸
蠟燭圖是股票等金融數據分析常用的一種圖形,PyQtChart模塊中用于繪制蠟燭圖的序列類是QCandlestickSeries。實例Demo12_6使用QCandlestickSeries序列類繪制蠟燭圖曲線,同時橫坐標軸使用了日期時間坐標軸類QDateTimeAxis,可以方便地以日期時間數據作為坐標數據。實例Demo12_6運行時界面如圖12-19所示。
圖12-19 實例Demo12_6運行時界面
12.7 區域填充圖
PyQtChart模塊中的QAreaSeries是一個用于繪制區域填充圖形的序列類。
圖12-20 實例Demo12_7運行時界面
12.8 極坐標圖
PyQtChart模塊中繪制極坐標圖要用到QPolarChart類,它的父類是QChart。所以,QPolarChart是一個圖表類,而不是一個序列類。
在QPolarChart圖上可以使用QLineSeries,QSplineSeries,QScatterSeries,QAreaSeries等序列類繪圖,可以使用QValueAxis、QCategoryAxis等任何坐標軸類作為徑向坐標軸或角度坐標軸。
實例Demo12_8使用QPolarChart和QSplineSeries繪制玫瑰線,徑向坐標軸和角度坐標軸都使用QValueAxis坐標軸類。程序運行時界面如圖12-23所示。
圖12-23 實例Demo12_8運行時界面
?
<上一章>?????????????? <回主頁>??????????????? <下一章>
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
