1. 程式人生 > >matplotlib模組資料視覺化-繪製柱狀圖

matplotlib模組資料視覺化-繪製柱狀圖

1 柱狀圖

經常在資料顯示的時候我們會使用柱狀圖,通常柱狀圖又包括兩種,一種是豎直的,一種是水平的柱狀圖,現在我們來進行一一講解和演示。

由於水平柱狀圖和豎直柱狀圖相似,引數差不多,個別引數名稱不同,所以這裡詳細描述豎直柱狀圖,水平柱狀圖僅給一個示例。

2 豎直柱狀圖

2.1 豎直柱狀圖的原始碼

import numpy as np
import matplotlib.pyplot as plt
n = 12
# 生成一個1-12的列表,不包括12,[ 0  1  2  3  4  5  6  7  8  9 10 11]
x = np.arange(n)
# np.random.uniform(0.5,1.0,n),生成n個0.5-1.0之間的隨機數
y1 = 3 * np.random.uniform(0.5,1.0,n)
y2 = 3 * np.random.uniform(0.5,1.0,n)

# 生成一個包含有n個值,均為0.2的list,表示允許的誤差範圍[-0.2,0.2]
error = [0.2,] * n

# bar(left, height, width=0.8, bottom=None, hold=None, **kwargs)
# 繪製柱形圖
# left:柱形圖的x座標
# height柱形圖的高度,以0.0為基準
# width:柱形圖的寬度,預設0.8
# facecolor:顏色
# edgecolor:邊框顏色n
# bottom:表示底部從y軸的哪個刻度開始畫
# yerr:應該是對應的資料的誤差範圍,加上這個引數,柱狀圖頭部會有一個藍色的範圍標識,標出允許的誤差範圍,在水平柱狀圖中這個引數為xerr
plt.bar(x,+y1,width=0.8,facecolor="#9999ff",edgecolor="white",yerr=error)
plt.bar(x,-y2,facecolor="#ff9999",edgecolor="white")
# 繪製文字,顯示柱狀圖形的值
for x,y1,y2 in zip(x,y1,y2):
    plt.text(x+0.4,y1+0.05,'%.2f' % y1,ha='center',va='bottom')
    plt.text(x+0.4,-(y2+0.05),'%.2f' % y2,ha='center',va='top')

plt.ylim(-3.5,3.5)
plt.show()


2.2 效果圖

bottom引數和yerr引數大家可能不太懂,給幾個特別的情況

不設定yerr誤差範圍的圖:


設定yerr誤差範圍的圖:


設定bottom=0.5的圖:


3 水平柱狀圖

水平柱狀圖的方法名用plt.barh(),注意:多了一個h,水平柱狀圖與豎直柱狀圖引數相同,只是個別引數名稱不同,這裡不做具體講解,參考豎直柱狀圖。

3.1 原始碼

import numpy as np
import matplotlib.pyplot as plt
people = ('James', 'Durant', 'Kobe', 'Wade', 'Curry','Magic','Hardan')
y_pos = np.arange(len(people))
performance = 30 + 70 * np.random.rand(len(people)) #隨機產生len(people)個 [0,1)的數
error = np.random.rand(len(people))
plt.barh(y_pos, performance, xerr=error, align='center', alpha=0.4)#這裡是產生橫向柱狀圖 barh h--horizontal
plt.yticks(y_pos, people)
plt.xlabel('Performance')
plt.xlim(0,100)
plt.title('How efficient do you want to go today?')
plt.show()


3.2 效果圖


相關推薦

matplotlib模組資料視覺-繪製

1 柱狀圖 經常在資料顯示的時候我們會使用柱狀圖,通常柱狀圖又包括兩種,一種是豎直的,一種是水平的柱狀圖,現在我們來進行一一講解和演示。 由於水平柱狀圖和豎直柱狀圖相似,引數差不多,個別引數名稱不同,所以這裡詳細描述豎直柱狀圖,水平柱狀圖僅給一個示例。 2 豎直柱狀圖 2.

matplotlib模組資料視覺-3D

1 matplotlib繪製3D圖形 matplotlib可以繪製3D圖形,有的版本中不具備該模組,可以進入python環境,輸入from mpl_toolkits.mplot3d import Axes3D進行測試,如果匯入成功則可以,否則需要安裝matplotlib其他

JavaWeb視覺:Web+Echarts案例:豆瓣日劇豆列電影資訊視覺、餅、折線

柱狀圖案例 柱狀圖用來比較多專案的數值情況,從構成上來說,柱狀圖以座標軸上的長方形元素作為變數,以此來達到展現並比較資料情況的目的。柱狀圖形式多種多樣,以適應不同場合資料展示,常用的有如下形式: 常用配置項引數: title:標題元件,包含主標題和副標題。 t

matplotlib學習——資料視覺基本處理

引:現打算將曾經學習的資料處理方面的知識回顧一下,並做成筆記,從matplotlib開始記起 ----環境搭建:使用Anaconda,較為方便,如果認為不需要過多的東西,可以使用pip安裝 pip安裝命令:pip3 install matplotlib Anaconda下載地址:http

python pandas+matplotlib 簡化資料視覺

一、pandas中的繪圖函式 1.series繪製圖像 # 準備一個Series s = Series(np.random.randn(10),index=np.arange(10,110,10)) # 最簡單的畫個圖 s.plot() plt.show() 2.Data

python3 使用pymysql連線資料庫並用Matplotlib實現資料視覺

    在python的資料視覺化中常用到Matplotlib庫,通過Matplotlib展示一些資料是十分方便的事情,但我們並不滿足處理一些“死資料”,如何將資料庫中的資料取出來並用好看的圖表展示呢!python提供了 MySQLdb ,Pymysql等庫給我們使用。   

Matplotlib資料視覺例項分析

作者:白寧超 2017年7月19日09:09:07 摘要:資料視覺化主要旨在藉助於圖形化手段,清晰有效地傳達與溝通訊息。但是,這並不就意味著資料視覺化就一定因為要實現其功能用途而令人感到枯燥乏味,或者是為了看上去絢麗多彩而顯得極端複雜。為了有效地傳達思想概念,美學形式與功能需要齊頭並進,通過直觀地

matplotlib + pandas——資料視覺

利用pandas進行資料分析 + matplotlib進行視覺化展示 1 第一個繪圖 (原本在matplotlib中需要幾段程式碼,在pandas中只需要一行程式碼) i

matplotlib資料視覺的重點

@王強  圖表設計的過程實則是將資料進行視覺化表達的過程,其研究的物件源頭是資料,然而,資料本身價值不大,所謂的“資料”往往是由一些看起來有用和沒用的“數字”組成,使用者很難從這些散亂的數字中發現有價值的資訊,so,如果把這些“數字”從商業目的、使用者動機進行有機組合、關

利用matplotlib進行資料視覺

matplotlib是python中的一個畫相簿,繼承了matlib(從名字上也看得出來)的優點和語法,所以對於熟悉matlib的使用者來說是十分友好的。 ## pylab和pyplot 關於pylab和pyplot,人們做過不少的討論。這兩個模組有哪些不同呢?pylab模組跟matplotlib一起安裝

plotly簡單繪製

程式碼: import plotly.offline as pltoff import plotly.graph_objs as go def bar_charts(name="bar_charts.html"): dataset = {'amount price av

bar()函式——python繪製

繪製柱狀圖,我們主要用到bar()函式。 只要將該函式理解透徹,我們就能繪製各種型別的柱狀圖。 我們先看下bar()的建構函式:bar(x,height, width,*,align=‘center’,

利用畫布繪製

  <!DOCTYPE html> <head> <meta charset="utf-8" /> <title>柱狀圖</title> <style>/*繪製畫布的樣式*/ canvas{ backgr

Matlab 繪製並標註對應數字值

close all; clear; clc; x=zeros(1,60); y1=zeros(1,60); data=load('passdatadistance.txt'); for i=1:60 x(i)=i; tem=data(i)/100+data(

使用SpringMVC、Echarts繪製

前提用Maven搭好springMVC的框架 1、建一個jsp頁面,程式碼如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8

Echarts資料視覺series-line線,開發全解+完美註釋

全棧工程師開發手冊 (作者:欒鵬) Echarts資料視覺化series-line線圖全解: mytextStyle={ color:"#333", //文字顏色 fontStyle

Android 自定義控制元件 (一) , ,Canvas 繪製 ,支援觸控操作

專案中,經常會用到統計圖表,個性化展示資料,增加趣味性,之前也用過百度Echarts來展示,效果很不錯,包括一些互動操作,不得不說,echarts幫我我們實現了絕大多數的需求,體積小不說,實現方式也很簡單,後來想了想,為什麼不用安卓Canvas繪製呢,畢竟是安卓開發攻城獅,下

MATLAB採用雙座標軸同時繪製和折線

第一,以某地區一週的溫度和空氣中顆粒物濃度為例,一週(7天)的溫度分別為35,33,31,30,28,26,27攝氏度,顆粒物濃度分別為550,515,450,375,215,150,195個/立方米。下面利用MATLAB同時繪製柱狀圖和折線圖,其中柱狀圖表示溫度,折線圖表示顆粒物濃度。啟動MATLAB,新建

[R視覺]繪製時間序列

library(ggplot2) g<-ggplot()+geom_line(aes(x=ctime,y=count),data=b,color="gray40") g<-g+geom_point(aes(x=ctime,y=count),data=b,col="

Echarts資料視覺series-graph關係,開發全解+完美註釋

全棧工程師開發手冊 (作者:欒鵬) Echarts資料視覺化series-graph關係圖全解: mytextStyle={ color:"#333", //文字顏色 fontSty