數據可視化基礎(一):散點圖、折線圖、條形圖

散點圖、折線圖、條形圖

散點圖

概念

顯示兩組數據值,由一組不連接的點完成,每個點座標位置由變量的值決定,用於觀察兩種變量的相關性。

相關性

正相關、負相關、相關

外觀調整

  • 顏色 c
    c=‘r’ 紅色
  • 點大小 s
    面積值 s=100和s=10差10倍
  • 透明度 alpha
  • 點形狀 marker
    默認值是o
    在這裏插入圖片描述

代碼

  • 基礎示例
import numpy as np
import matplotlib.pyplot as plt
#散點
height=[155,160,170,175,190]
weight=[45,50,51,55,75]

plt.scatter(height,weight)
plt.show()

在這裏插入圖片描述

  • 相關示例
    不相關
N=100
x=np.random.randn(N)
y1=np.random.randn(N)

plt.scatter(x,y1)
plt.show()

在這裏插入圖片描述
正相關

N=100
x=np.random.randn(N)
y2=x+np.random.randn(N)*0.8

plt.scatter(x,y2)
plt.show()

在這裏插入圖片描述
負相關

N=100
x=np.random.randn(N)
y3=np.random.randn(N)*0.8-x

plt.scatter(x,y3)
plt.show()

在這裏插入圖片描述

  • 外觀調整
plt.scatter(x,y3,s=100)

在這裏插入圖片描述

plt.scatter(x,y3,s=100,c='r')

在這裏插入圖片描述

plt.scatter(x,y3,s=100,c='r',marker='<')

在這裏插入圖片描述

plt.scatter(x,y3,s=100,c='r',marker='<',alpha=0.5)

在這裏插入圖片描述

折線圖

概念

用直線段將各數據連接起來組成的圖形,用來觀察數據隨時間變化的趨勢
plot默認是折線圖

外觀調整

  • 線型 linestyle
  • 顏色 color
  • 點形狀 marker

代碼

  • 基礎示例
import numpy as np
import matplotlib.pyplot as plt

# 折線圖
x=np.linspace(-10,10,5)
## linespace生成一組等區間數值,從-10到10等區間分成100份
y=x**2

plt.plot(x,y)
plt.show()

在這裏插入圖片描述

import matplotlib.dates as mdates

date,open,close=np.loadtxt('01.csv',delimiter=',',converters={0:mdates.strpdate2num('%m/%d/%Y)},skiprows=1,usecols=(0,1,4),unpack=True)
#strpdate2num('%m/%d/%Y) 格式化字符串
  • 外觀
plt.plot(x,y,linestyle='-',color='red',marker='o')

在這裏插入圖片描述

plt.plot(x,y,linestyle='--',color='green',marker='<')

在這裏插入圖片描述

條形圖

概念

以長方形長度作爲變量的統計圖表,比較多個項目分類的數據大小,通常用於較小的數據集分析

  • bar函數
    left是最左側的座標,height是高度

水平

  • orientation=‘horizontal’
  • plt.barh()

疊加並列

  • 並列
    index+bar_width 平移
  • 疊加
    第二個bottom=第一個y值

代碼

  • 基礎
import numpy as np
import matplotlib.pyplot as plt

# 條形圖
N=5
y=[15,12,8,30,35]
index = np.arange(N)

p1 = plt.bar(x=index,height=y)
plt.show()

在這裏插入圖片描述

  • 水平
#水平
p2 = plt.bar(x=0,bottom=index,height=0.5,color='red',width=y,orientation='horizontal')

#p2 =plt.barh(x=0,bottom=index,width=y)
plt.show()

在這裏插入圖片描述

  • 並列
index=np.arange(4)

s1=[50,49,52,54]
s2=[42,66,88,11]

bar_width=0.3

plt.bar(index,s1,bar_width,color='b')
plt.bar(index+bar_width,s2,bar_width,color='r')
plt.show()

在這裏插入圖片描述

plt.bar(index,s1,bar_width,color='b')
plt.bar(index,s2,bar_width,color='r',bottom=s1)
plt.show()

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章