Python視覺化-散點圖與彩色散點圖
散點圖與彩色散點圖都是表示XY軸座標之間的變化關係。
但是彩色散點圖中點的顏色各有不同。
一、資料檔案準備
1、value.txt
0,3.19
1,2.7
2,2.51
3,2.78
4,2.61
5,3.13
6,3.14
7,2.69
8,2.51
9,3.15
10,3.15
11,3.15
12,3.15
第一列是序號索引,第二列是價格數值。
散點圖X軸和Y軸分別描繪序號與價格。
2、PeopleNumber.csv
city,people,price
NJ ,823,3.19
XZ ,866,2.7
HA,487,2.51
YC,723,2.78
SQ,485,2.61
TZ,464,3.13
YZ,448,3.14
NT,730,2.69
LYG ,447,2.51
ZJ,318,3.15
WX,651,3.15
SZ,1061,3.15
CZ,470,3.15
彩色散點圖X軸和Y軸分別描繪人口與價格的關係,用不同顏色標識不同城市。
第一列是城市(縮寫)索引,第二列是人口數值,
第三列是價格數值(原為空,由彩色散點圖程式碼中函式寫入)。
csv檔案本質上就是以逗號(,)分隔開的txt檔案,所以用excel開啟形式為:
二、匯入模組包
可參考Windows下安裝Python、matplotlib包 及相關
https://blog.csdn.net/mikasa3/article/details/78942650
1、numpy
2、pandas
3、seaborn
4、matplotlib
三、完整程式碼
如下:
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
def DrawScatter(read_name):#散點圖
x = np.arange(0,13) #生成X軸資料,要與Y軸維度相同
fr = open(read_name,'r')#開啟讀取的檔案
value_list = []
value_data = []
count = 0
for line in fr.readlines():#遍歷開啟的檔案
if not len(line):#跳過空行
continue
line = line.strip()
value_list.append(line.split(','))
value_data.append(float(value_list[count][1]))
count += 1
fig = plt.figure()
ax1 = fig.add_subplot(111) #將畫布分割成1行1列,影象畫在從左到右從上到下的第1塊
ax1.set_title('Scatter Plot')#散點圖的標題
plt.xlabel('people')#X軸標籤
plt.ylabel('price')#Y軸標籤
#以X軸Y軸資料集分別為x,value_data開始畫圖,落點顏色為red,樣式marker為o
ax1.scatter(x, value_data, c = 'r',marker = 'o')
plt.legend("c")#圖例
plt.show() #顯示散點圖
def DrawColorScatter(read_name,write_name):#彩色散點圖,讀取的檔名和要寫入的檔名
fr = open(read_name,'r')#開啟讀取value檔案
value_list = []
value_data = []
count = 0
for line in fr.readlines():
if not len(line):
continue
line = line.strip()
value_list.append(line.split(','))
value_data.append(float(value_list[count][1]))
count += 1
fp = pd.read_csv(write_name)#開啟寫入檔案,準備將value寫入第三列
count = -1
flen = fp.iloc[:,0].size
for item in range(flen):
if (count == -1):#特殊處理檔案第一行index
count += 1
continue
fp.loc[count,['price']] = value_data[count]#修改檔案中價格
count += 1
fp.to_csv(write_name,index = False,sep=',')#寫入檔案,預設不含index,以逗號分隔
#以下開始畫圖
g=sns.FacetGrid(fp, hue = "city", palette = "Set1", size = 6)
#hue指色彩,是散點不同顏色的來源
g.map(plt.scatter, "people", "price", s = 250, linewidth = 0.65, edgecolor = "white")
#第2,3個引數是X,Y座標的標籤,s表示散點大小,linewidth表示散點邊緣線寬,edgecolor表示散點邊緣線色
g.add_legend()
plt.show()#顯示散點圖
if __name__=='__main__':
DrawScatter("value.txt")#散點圖
DrawColorScatter("value.txt","PeopleNumber.csv")#彩色散點圖
四、執行結果
1、散點圖
2、彩色散點圖
相關文章
- SoviChart資料視覺化:散點圖(Scatter plot)視覺化
- R語言之視覺化①③散點圖+擬合曲線R語言視覺化
- Python資料視覺化:5段程式碼搞定散點圖繪製與使用,值得收藏Python視覺化
- 如何利用散點圖矩陣進行資料視覺化矩陣視覺化
- Python繪圖與視覺化Python繪圖視覺化
- Python matplotlib繪製散點圖Python
- Python視覺化-氣泡圖Python視覺化
- Python視覺化-折線圖Python視覺化
- Python視覺化-地圖染色Python視覺化地圖
- [資料分析與視覺化] Python繪製資料地圖2-GeoPandas地圖視覺化視覺化Python地圖
- R繪圖(7): 把散點圖的點換成扇形繪圖
- Python視覺化(1):折線圖Python視覺化
- python資料分析與視覺化【思維導圖】Python視覺化
- 柱狀圖、直方圖、散點圖、餅圖講解直方圖
- 用matplotlib散點圖用餅圖示記
- 用GraphPad Prism9做分組柱狀圖與散點圖共存圖PHP
- Python視覺化圖系列(1)-----jupyter notebookPython視覺化
- R繪圖(3): 散點圖新增文字註釋繪圖
- 實驗| Pyecharts實現散點圖Echarts
- Java 在PPT中建立散點圖Java
- 在ASP.NET Core中建立自定義端點視覺化圖ASP.NET視覺化
- 盤點 Django 展示視覺化圖表的多種方式(建議收藏)Django視覺化
- Python資料視覺化之Pygal圖表型別Python視覺化型別
- 大屏視覺化用什麼開發,視覺化地圖用什麼軟體做好一點視覺化地圖
- 視覺化圖形制作之關係圖視覺化
- 從零開始學Python視覺化(五): 餅圖及環形圖Python視覺化
- python資料視覺化-matplotlib入門(5)-餅圖和堆疊圖Python視覺化
- 資料視覺化圖表之折線圖視覺化
- 資料分析Power BI資料視覺化教程(四)——建立瀑布、漏點圖以及修改圖表顏色視覺化
- 如何使用Android視覺化埋點Android視覺化
- 繪圖和視覺化知識圖譜-《利用Python進行資料分析》繪圖視覺化Python
- python資料視覺化-matplotlib入門(4)-條形圖和直方圖Python視覺化直方圖
- [圖靈贈書]《Python效能分析與最佳化》點評贈書圖靈Python
- vue地圖視覺化 Cesium篇Vue地圖視覺化
- 圖形演算法視覺化演算法視覺化
- 【實戰】通過Python實現疫情地圖視覺化Python地圖視覺化
- 【知識點】圖與圖論入門圖論
- jquery焦點圖效果視訊jQuery