python 数据可视化库

import pandas as pd
unrate = pd.read_csv("UNRATE.csv")
unrate['DATE'] = pd.to_datetime(unrate['DATE'])  ##对时间进行转换1992/2/1 转换成 datetime格式
#print(unrate.head(12))
import matplotlib.pyplot as plt
# first_twelve = unrate[0:12]
# plt.plot(first_twelve["DATE"],first_twelve["VALUE"])  ##plot就是画图,第一个值为横轴,第二个为纵轴
# plt.xticks(rotation=45)  ##最纵轴  倾斜45度
# plt.xlabel('Month')
# plt.ylabel('Unemployment Rate')
# plt.title(' 1948 shi ye lv')
# plt.show()  ##显示
from Matplotlibobj.demo import unrate
fig = plt.figure(figsize=(10,6))
colors = ['red','blue','green','orange','black']
for i in range(5):
    start_index = i*12
    end_index =(i+1)*12
    subset =unrate[start_index:end_index]
    label = str(1948+i)
    plt.plot(subset['DATE'],subset['VALUE'],c=colors[i],label = label)###需要给图片上的没个线条加上标注,label 就是指定当前你画的这条线是什么东西,需要结合legent才能显示出来
#plt.legend(loc='best')  ###legend 加上这个图是指定的东西。
plt.legend(loc='upper left')
plt.xlabel('Month, integer')
plt.ylabel('Unemplyment Rate,Percent')
plt.title('Monthly Unemployment Trends,1948-1952')
plt.show()

#####

matplotlib 讲解

import pandas as pd
from numpy import arange
import matplotlib.pyplot as plt
reviews = pd.read_csv('fandango_scores.csv')
num_cols = ['RT_user_norm','Metacritic_user_nom','IMDB_norm','Fandango_Ratingvalue','Fandango_Stars']
norm_reviews = reviews[num_cols]
#print(norm_reviews[:1])
##一个电影的评分,用柱状图画出来,1.柱子的高度,2.当前这个柱子距离X轴的距离
bar_heights = norm_reviews.ix[0,num_cols].values  ##这个说明当前的柱高度是多少
print(bar_heights)
# bar_positions = arange(5)+0.75   ###位置参数确定,第一个柱离0值多远
# tick_positions = range(1,6)
# print(bar_positions)##不懂就打印出来
# fig,ax = plt.subplots()  ## 把图拿出来,ax 是画bar 形 图
# ax.barh(bar_positions,bar_heights,0.8) ##0.8代表柱子的宽度 bar 是竖状柱状图,barh是横状柱状图
#####美化参数
# ax.set_yticks(tick_positions)
# ax.set_yticklabels(num_cols)
# ax.set_ylabel('Rating Source')
# ax.set_xlabel('Average Rating')
# ax.set_title('Average user rating for avengers :Age of Utron(2015)')
# plt.show()
###画散点图:需要传进来2个值,横轴表示评分,纵轴表示,通过ascatter 可以直接把点给画出来。
# fig,ax= plt.subplots()  ###通过fig也可以指定一些参数,ax是获取实际得到的轴,fig来控制这个图整体长什么样子的
# ax.scatter(norm_reviews['Fandango_Ratingvalue'],norm_reviews['RT_user_norm'])  #取出2种媒体
# ax.set_xlabel('Fandango')  ##横轴表示评分
# ax.set_ylabel('Rotten Tomatoes')  ##纵轴也表示评分
# plt.show()
####柱形图与盒图,
####有时候数据太多,我们需要合并一个范围内的值为一组。
# fig, ax = plt.subplots()
# #ax.hist(norm_reviews['Fandango_Ratingvalue'])   ###.hist 指明现在要画的图带有bins结构,我们不指定binds 系统会自动给指定一个binds
# ax.hist(norm_reviews['Fandango_Ratingvalue'],bins=20)
# #ax.hist(norm_reviews['Fandango_Ratingvalue'],range = (4,5),bins=20)
# plt.show()

###背景:只显示数据的部分。按比例
# fig,ax = plt.subplots()
# ax.boxplot(norm_reviews['RT_user_norm'])  ##盒图,
# ax.set_xticklabels(['Rotten Tomatoes'])  ##设置了x轴的名字
# ax.set_ylim(0,5)##设置了y轴
# plt.show()
##干点别的
fig,ax = plt.subplots()
ax.boxplot(norm_reviews[num_cols].values)
ax.tick_params(bottom="off",top="off",left="off",right="off")##画图的时候 想去掉 齿,
ax.set_xticklabels(num_cols,rotation=90)
ax.set_ylim(0,5)
plt.show()
#####RGB通道颜色选取
cb_dark_blue = (0/255,107/255,164/255)  ## /255 可以得到一个元祖
cb_orange = (255/255,128/255,14/255)
linewidth = 10   ##参数可以指定线条的宽度
###好的图像应该是一眼能够看清线条和线条之间的关系。而不是距离很远。怎么办呐呢,通过参数figsize设置
fig = plt.figure(figsize=(12,12))

猜你喜欢

转载自blog.csdn.net/qq_25834767/article/details/82154437