亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

如何使用Python matplotlib繪制散點(diǎn)圖

89542767 / 1603人閱讀


  今天給大家分享一個(gè)經(jīng)典案例,那就是在Python matplotlib,如何完整的繪制成功一個(gè)散點(diǎn)圖,其實(shí),如果想要繪制的話,還是比較麻煩的。但是如果我們使用Python matplotlib的話,繪制的就會(huì)比較好,怎么繪制呢?下面就給大家詳細(xì)的解答下。


  什么是散點(diǎn)圖?


  所謂的散點(diǎn)圖,指的是在相關(guān)的數(shù)據(jù)分析當(dāng)中,數(shù)據(jù)會(huì)依次分布在直角坐標(biāo)系當(dāng)中,散點(diǎn)圖是變量跟著自變量去進(jìn)行變動(dòng),據(jù)此可以選擇合適的函數(shù)對(duì)數(shù)據(jù)點(diǎn)進(jìn)行擬合。


  用組成的數(shù)據(jù),做成數(shù)據(jù)的相關(guān)集合點(diǎn),考察相關(guān)坐標(biāo)點(diǎn)的一個(gè)分布情況,判斷兩變量之間是否存在某種關(guān)聯(lián)或總結(jié)坐標(biāo)點(diǎn)的分布模式。


  散點(diǎn)圖將序列顯示為一組點(diǎn)。值由點(diǎn)在圖表中的位置表示。類別由圖表中的不同標(biāo)記表示。散點(diǎn)圖通常用于比較跨類別的聚合數(shù)據(jù)。


  下面給出一個(gè)散點(diǎn)圖的具體代碼案例


  import matplotlib.pyplot as plt
  import pandas as pd
  import numpy as np
  plt.figure(figsize=(9,5),#(寬度,高度)單位inch
  dpi=120,#清晰度dot-per-inch
  #facecolor='#CCCCCC',#畫布底色
  #edgecolor='black',linewidth=0.2,frameon=True,#畫布邊框
  #frameon=False#不要畫布邊框
  )
  #設(shè)置全局中文字體
  plt.rcParams['font.sans-serif']='KaiTi'#設(shè)置全局字體為中文楷體
  plt.rcParams['axes.unicode_minus']=False#不使用中文減號(hào)
  #讀取數(shù)據(jù)
  crime=pd.read_csv("crimeRatesByState2005.csv")
  print(list(crime.murder))#轉(zhuǎn)化成列表
  #刪除state為United States的數(shù)據(jù)
  crime2=crime[crime.state!="United States"]
  #刪除state為District of Columbia的數(shù)據(jù)
  crime2=crime2[crime2.state!="District of Columbia"]
  z=list(crime2.population/10000)#取人口數(shù)據(jù)
  #colors=np.random.rand(len(list(crime2.murder)))#根據(jù)謀殺率隨機(jī)去顏色
  cm=plt.cm.get_cmap('RdYlBu')#使用色譜RdYlBu
  plt.scatter(list(crime2.murder),list(crime2.burglary),s=z,c=z,cmap=cm,linewidth=0.5,alpha=0.5)#繪制散點(diǎn)圖
  plt.xlabel("murder")
  plt.ylabel("burglary")
  plt.show()

01.png

  散點(diǎn)圖一行代碼顯示


  #讀取數(shù)據(jù)
  df=pd.read_csv('iris.csv')
  #平面坐標(biāo)系的位置只能表示2維數(shù)據(jù)
  x=df['sepal_length']
  y=df['sepal_width']
  #根據(jù)X,Y值畫散點(diǎn)圖
  plt.scatter(x,y)

02.png

  加顏色的散點(diǎn)圖


   #讀取數(shù)據(jù)
  df=pd.read_csv('iris.csv')
  #平面坐標(biāo)系的位置只能表示2維數(shù)據(jù)
  x=df['sepal_length']
  y=df['sepal_width']
  c=df['species'].map({'setosa':'r','versicolor':'g','virginica':'b'})
  #根據(jù)X,Y值畫散點(diǎn)圖,用不同的顏色標(biāo)識(shí)不同的分類
  plt.scatter(x,y,c=c)

03.png

  顏色深淺表示數(shù)值大小


  #讀取數(shù)據(jù)
  df=pd.read_csv('iris.csv')
  #平面坐標(biāo)系的位置只能表示2維數(shù)據(jù)
  x=df['sepal_length']
  y=df['sepal_width']
  c=df['petal_length']
  #根據(jù)X,Y值畫散點(diǎn)圖,用顏色的深淺表示花萼的長(zhǎng)度
  plt.scatter(x,y,c=c,cmap=plt.cm.RdYlBu)

04.png

  散點(diǎn)圖顯示顏色和大小


  #讀取數(shù)據(jù)
  df=pd.read_csv('iris.csv')
  #平面坐標(biāo)系的位置只能表示2維數(shù)據(jù)
  x=df['sepal_length']#x軸坐標(biāo)
  y=df['sepal_width']#y軸坐標(biāo)
  c=df['petal_length']#顏色color
  s=df['petal_width']#大小size
  #根據(jù)X,Y值畫散點(diǎn)圖,用顏色的深淺表示花萼的長(zhǎng)度,用大小表示花萼的寬度
  plt.figure(figsize=(5,5),dpi=100)
  #plt.scatter(x,y,c=c,s=50)#可以是標(biāo)量,那么所有的點(diǎn)都一樣
  plt.scatter(x,y,c=c,s=s*30)

05.png

  自定義圖表散點(diǎn)圖


  #讀取數(shù)據(jù)
  df=pd.read_csv('iris.csv')
  def get_xycs(df):
  #平面坐標(biāo)系的位置只能表示2維數(shù)據(jù)
  x=df['sepal_length']#x軸坐標(biāo)
  y=df['sepal_width']#y軸坐標(biāo)
  c=df['petal_length']#顏色color
  s=df['petal_width']#大小size
  return x,y,c,s
  markers={'setosa':'o','versicolor':'D','virginica':'*'}
  #根據(jù)X,Y值畫散點(diǎn)圖,用顏色的深淺表示花萼的長(zhǎng)度,用大小表示花萼的寬度,每組數(shù)據(jù)只能是一種點(diǎn)樣式
  plt.figure(figsize=(5,5),dpi=100)
  #plt.scatter(x,y,c=c,s=50)#可以是標(biāo)量,那么所有的點(diǎn)都一樣
  for sp in df['species'].unique():
  x,y,c,s=get_xycs(df[df['species']==sp])
  plt.scatter(x,y,c=c,s=s*30,cmap=plt.cm.seismic,marker=markers[sp],label=sp)
  plt.legend()

06.png

  散點(diǎn)圖萬能模板


  #讀取數(shù)據(jù)
  df=pd.read_csv('iris.csv')
  def get_xycs(df):
  #平面坐標(biāo)系的位置只能表示2維數(shù)據(jù)
  x=df['sepal_length']#x軸坐標(biāo)
  y=df['sepal_width']#y軸坐標(biāo)
  c=df['petal_length']#顏色color
  s=df['petal_width']#大小size
  return x,y,c,s
  markers={'setosa':'o','versicolor':'D','virginica':'*'}
  #根據(jù)X,Y值畫散點(diǎn)圖,用顏色的深淺表示花萼的長(zhǎng)度,用大小表示花萼的寬度,每組數(shù)據(jù)只能是一種點(diǎn)樣式
  plt.figure(figsize=(5,5),dpi=100)
  #plt.scatter(x,y,c=c,s=50)#可以是標(biāo)量,那么所有的點(diǎn)都一樣
  for sp in df['species'].unique():
  x,y,c,s=get_xycs(df[df['species']==sp])
  plt.scatter(x,y,s=s*30,cmap=plt.cm.seismic,marker=markers[sp],label=sp)
  plt.legend()

07.png

  其他模板


  ###在二維坐標(biāo)系上,位置表示(x,y)二維數(shù)據(jù)
  x=df.sepal_length#x表示花瓣長(zhǎng)
  y=df.sepal_width#y表示花瓣寬
  s=(df.petal_length*df.petal_width)*np.pi#s(size)表示花萼面積
  c=(df.petal_length*df.petal_width)*np.pi
  plt.scatter(x,y,s=s*5,c=c,cmap=plt.cm.RdYlBu_r)
  plt.xlabel('sepal_length')
  plt.ylabel('sepal_width')

08.png

 

   #在二維坐標(biāo)系上,位置表示(x,y)二維數(shù)據(jù)
  x=df.sepal_length#x表示花瓣長(zhǎng)
  y=df.sepal_width#y表示花瓣寬
  s=(df.petal_length*df.petal_width)*np.pi#s(size)表示花萼面積
  #print(df.species)
  #colormap={"setosa":"#FF0000","versicolor":"green","virginica":"b"}#定義一個(gè)字典將species字符串映射到顏色字符串上
  colormap={"setosa":1,"versicolor":5,"virginica":6}#定義一個(gè)字典將species字符串映射到顏色字符串上
  c=df.species.map(colormap)
  #print(c)
  plt.scatter(x,y,s=s*5,c=c,cmap=plt.cm.coolwarm,alpha=0.7,edgecolors='face')
  plt.xlabel('sepal_length')
  plt.ylabel('sepal_width')

09.png

 

   plt.scatter(df['burglary'],df['larceny_theft'],
  s=df['population']*2e-5,
  c=df['motor_vehicle_theft'],cmap=plt.cm.coolwarm,
  edgecolors='b',
  alpha=0.75)
  for idx,statename in df['state'].items():
  plt.text(x=df['burglary'][idx],y=df['larceny_theft'][idx]-df['population'][idx]*2e-5*0.5,s=statename,fontsize=6,ha='center',va='top')
  df.plot.scatter(x='burglary',y='larceny_theft',c='motor_vehicle_theft',cmap=plt.cm.coolwarm,s=df['population']*2e-5)
  for i in df.index:
  if i in top5_motor_theft_index:#偷車賊最多的5個(gè)州
  plt.text(df.loc[i,'burglary']+10,df.loc[i,'larceny_theft']-10,df.loc[i,'state'],color='red')#一個(gè)文本框

12.png

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/127977.html

相關(guān)文章

  • Python數(shù)據(jù)分析:折線圖和點(diǎn)圖繪制

    摘要:繪制折線圖和散點(diǎn)圖要用到下的,因此我們需要先引入,因?yàn)橐玫綌?shù)組實(shí)現(xiàn),還要引入。如果讓折線圖和散點(diǎn)圖疊加還可以突出每個(gè)點(diǎn)。 1.繪制折線圖和散點(diǎn)圖要用到matplotlib下的pylab,因此我們需要先引入,因?yàn)橐玫綌?shù)組實(shí)現(xiàn),還要引入numpy。然后確定x軸和y軸的數(shù)據(jù),最后將其呈現(xiàn)出來。 import matplotlib.pylab as pyl import numpy as ...

    jifei 評(píng)論0 收藏0
  • Python數(shù)據(jù)可視化matplotlib.pyplot

    摘要:刪除數(shù)據(jù)點(diǎn)的輪廓設(shè)置每個(gè)坐標(biāo)軸的取值范圍使用顏色映射允許你給散點(diǎn)圖中的各個(gè)點(diǎn)指定顏色。默認(rèn)為藍(lán)色點(diǎn)和黑色輪廓,在散點(diǎn)圖包含的數(shù)據(jù)點(diǎn)不多時(shí)效果很好。但繪制很多點(diǎn)時(shí),黑色輪廓可能會(huì)粘連在一起。 1.安裝matplotlib pip install matplotlib 2.繪制簡(jiǎn)單圖形 import matplotlib.pyplot as plt #圖形輸入值 input_values...

    Acceml 評(píng)論0 收藏0
  • Python數(shù)據(jù)分析:seaborn

    摘要:,繪制盒形圖,同樣指定對(duì)數(shù)據(jù)的分類。如果傳入則畫出的盒形圖是橫向的。繪制小提琴圖,表示是否將兩類數(shù)據(jù)分開繪制,如果為,則不分開繪制,默認(rèn)為。數(shù)據(jù)集數(shù)據(jù)集名。計(jì)算置信區(qū)間時(shí)使用的引導(dǎo)迭代次數(shù)整數(shù)。 seaborn是python中的一個(gè)非常強(qiáng)大的數(shù)據(jù)可視化庫,它集成了matplotlib,下圖為seaborn的官網(wǎng),如果遇到疑惑的地方可以到官網(wǎng)查看。http://seaborn.pydat...

    LeexMuller 評(píng)論0 收藏0
  • Python數(shù)據(jù)分析:seaborn

    摘要:,繪制盒形圖,同樣指定對(duì)數(shù)據(jù)的分類。如果傳入則畫出的盒形圖是橫向的。繪制小提琴圖,表示是否將兩類數(shù)據(jù)分開繪制,如果為,則不分開繪制,默認(rèn)為。數(shù)據(jù)集數(shù)據(jù)集名。計(jì)算置信區(qū)間時(shí)使用的引導(dǎo)迭代次數(shù)整數(shù)。 seaborn是python中的一個(gè)非常強(qiáng)大的數(shù)據(jù)可視化庫,它集成了matplotlib,下圖為seaborn的官網(wǎng),如果遇到疑惑的地方可以到官網(wǎng)查看。http://seaborn.pydat...

    superPershing 評(píng)論0 收藏0
  • ??蘇州程序大白一文從基礎(chǔ)手把手教你Python數(shù)據(jù)可視化大佬??《??記得收藏??》

    ??蘇州程序大白一文從基礎(chǔ)手把手教你Python數(shù)據(jù)可視化大佬??《??記得收藏??》 目錄 ????開講啦?。。。????蘇州程序大白?????博主介紹前言數(shù)據(jù)關(guān)系可視化散點(diǎn)圖 Scatter plots折線圖強(qiáng)調(diào)連續(xù)性 Emphasizing continuity with line plots同時(shí)顯示多了圖表 數(shù)據(jù)種類的可視化 Plotting with categorical da...

    Drinkey 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<