python--數據可視化

數據如何清晰、準確、交互的展示,經過數據可視化,將實現這些效果。html

python可視化須要用到的庫:pandas,matplotlibpython

參考官方教程:http://matplotlib.org/index.html函數

散點圖:字體

繪圖函數:plot(x,y,'.',color(r,g,b))spa

x、y,x軸和y軸的序列;‘.’,散點圖中點的大小;color:rgb定義code

# -*- coding: utf-8 -*-

import pandas
import matplotlib
import matplotlib.pyplot as plt

data = pandas.read_csv(
    'C://Users//leon//Desktop//data.csv'
)

mainColor = (52/256, 88/256, 151/256, 1) #1是透明度

font = {
    'size': 20,
    'family': 'SimHei'
}   #設置字體,若不設置則不會顯示中文字體
matplotlib.rc('font', **font)

#%matplotlib qt

#plt.grid(True)

#小點
plt.xlabel('廣告費用', color=mainColor)
plt.ylabel('購買用戶數', color=mainColor)
plt.tick_params(axis='x', colors=mainColor)  #刻度線設置
plt.tick_params(axis='y', colors=mainColor)  
plt.plot(
    data['廣告費用'], 
    data['購買用戶數'], 
    '.', color=mainColor
)

如若運行環境是pycharm,則在最後添加:htm

plt.show()
纔可顯示圖形。

 折線圖:blog

plot(x,y,style,color,linewidth)教程

title('圖的標圖')utf-8

style,線的樣式;linewidth線的寬度。

import pandas
import matplotlib
from matplotlib import pyplot as plt

data = pandas.read_csv(
    'C://Users//leon//Desktop//data.csv'
)

#對日期格式進行轉換
data['購買日期'] = pandas.to_datetime(
    data['日期']
)


mainColor = (42/256, 87/256, 141/256, 1);

font = {
    'size': 20,
    'family': 'SimHei'
}
matplotlib.rc('font', **font)

#%matplotlib qt

plt.xlabel(
    '購買日期', 
    color=mainColor
)
plt.ylabel(
    '購買用戶數', 
    color=mainColor
)
plt.tick_params(
    axis='x', 
    colors=mainColor
)
plt.tick_params(
    axis='y', 
    colors=mainColor
)

#'-'    順滑的曲線
plt.plot(
    data['購買日期'], 
    data['購買用戶數'], 
    '-', color=mainColor
)   

plt.title('購買用戶數')
plt.show()

與散點圖相比,plt.plot(第三個參數設置爲‘-’,便可轉化爲則線圖。

 餅圖:

pie(x,labels,colors,explode,autopct)

x 繪圖的序列;labels標籤序列;colors顏色;explode須要突出的序列;autopct餅圖佔比的下手格式;%.2f保留2位小數

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0)  # only "explode" the 2nd slice (i.e. 'Hogs')

fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
        shadow=True, startangle=90)
ax1.axis('equal')  # Equal aspect ratio ensures that pie is drawn as a circle.

#設置爲橫軸和縱軸等長的餅圖
#也就是圓形的餅圖,而非橢圓形的餅圖

plt.show()

 柱形圖:

bar(left,height,width,color)

left x軸序列;height y軸數值 ;width 柱形圖的寬度;color 填充顏色

import numpy
import pandas
import matplotlib
from matplotlib import pyplot as plt

font = {
    'family' : 'SimHei'
}
matplotlib.rc('font', **font)    #建立中文環境

data = pandas.read_csv(
    'C://Users//leon//Desktop//data.csv'
)

result = data.groupby(
    by=['手機品牌'], 
    as_index=False
)['月消費(元)'].agg({
    '月消費': numpy.sum
})   #透視

#豎向柱形圖
mainColor = (42/256, 87/256, 141/256, 1)
index = numpy.arange(
    result.月消費.size
)
sgb = result.sort_values(
    by="月消費", 
    ascending=False
)  #降序,false改成true則爲升序
plt.bar(
    index, sgb.月消費, 
    color=mainColor
)
plt.xticks(index, sgb.手機品牌) #xticks函數爲加上中文標籤
plt.show()
相關文章
相關標籤/搜索