Python繪圖筆記:繪製四色散點圖和誤差條形圖

2020-12-14 ACGN漫步者

1.散點圖一

figure1

#導入繪製散點圖所需要的包import matplotlib.pyplot as pltfrom numpy.random import rand#生成繪圖所需的圖紙fig, ax = plt.subplots()#for循環遍歷紅青藍黃四種顏色for color in ['red', 'cyan', 'blue','yellow']:n = 750 #X = rand 返回一個在區間 (0,1) 內均勻分布的隨機數 #x=rand(1,8)產生1行8列的位於(0,1)區間的隨機數 #x, y = rand(2, n)表示x,y都返回2行n列的位於(0,1)區間的隨機數 x, y = rand(2, n) #scale表示隨機點的大小,這裡進行了隨機生成 scale = 200.0 * rand(n) #繪製散點圖,x,y坐標,顏色按照for循環中的四色進行變換 #設置透明度和點的邊緣色為無 ax.scatter(x, y, c=color, s=scale, label=color, alpha=0.3, edgecolors='none')#設置圖例和網格線ax.legend()ax.grid(True)plt.show()

2.填充標記

#python2裡面,dict.items返回的是數組,six.iteritems(dict)則返回生成器。意味著,dict很大的時候,後者不佔用內存。#python3 裡面, dict.items改變了默認實現,也返回生成器,因此six.iteritems退出了舞臺。from six import iteritemsimport numpy as npimport matplotlib.pyplot as pltfrom matplotlib.lines import Line2D#每條線上繪製三個點points = np.ones(3)#設置文本的格式,垂直方向是靠右對齊,水平方向是居中對齊,字體大小、種類設置text_style = dict(horizontalalignment='right', verticalalignment='center',fontsize=12, fontdict={'family': 'monospace'})marker_style = dict(linestyle=':', color='seagreen', markersize=10)#定義坐標軸的形式,去掉x,y坐標軸def format_axes(ax): ax.margins(0.2) ax.set_axis_off()#定義文本中去字符的形式def nice_repr(text): return repr(text).lstrip('u')#" / " 表示浮點數除法,返回浮點結果;#" // " 表示整數除法,返回不大於結果的一個最大的整數def split_list(a_list): i_half = len(a_list) // 2 return (a_list[:i_half], a_list[i_half:])#生成一個包含兩列內容的圖紙fig, axes = plt.subplots(ncols=2)#過濾掉的不常用的填充標記#使用iteritems來得到一個迭代器unfilled_markers = [m for m, func in iteritems(Line2D.markers) if func != 'nothing' and m not in Line2D.filled_markers]#[::1]中省略起止位置,步進為-1,python中步進為正,從左往右取,步進為負,從右往左取#即實現逆向排序unfilled_markers = sorted(unfilled_markers, key=lambda x: (str(type(x)), str(x)))[::-1]for ax, markers in zip(axes, split_list(unfilled_markers)): for y, marker in enumerate(markers): ax.text(-0.5, y, nice_repr(marker), **text_style) ax.plot(y * points, marker=marker, **marker_style) format_axes(ax)fig.suptitle('非填充標記', fontsize=14)#繪圖時正常顯示中文plt.rcParams['font.sans-serif'] = ['SimHei']fig, axes = plt.subplots(ncols=2)for ax, markers in zip(axes, split_list(Line2D.filled_markers)): for y, marker in enumerate(markers): ax.text(-0.5, y, nice_repr(marker), **text_style) ax.plot(y * points, marker=marker, **marker_style) format_axes(ax)fig.suptitle('填充標記', fontsize=14)plt.show()

figure2
figure3

3.橫(縱)向誤差圖

import numpy as npimport matplotlib.pyplot as plt#三個參數分別是起始點,終止點和步長x=np.arange(0.0,5,0.5)y=np.exp(-x**2)#誤差條設置error=0.1+0.5*x#繪圖是正常生成中文plt.rcParams['font.sans-serif'] = ['SimHei']#生成圖紙,繪製兩幅子圖,分成兩行,共享x軸坐標fig,(ax0,ax1)=plt.subplots(nrows=2,sharex=True)#繪製第一幅誤差條形圖,誤差條分布方向為縱向,上下誤差條對稱分布ax0.errorbar(x,y,yerr=error,fmt='-o')ax0.set_title('對稱的誤差條形圖')#以y(x)軸方向為例,設置向下(左)誤差條的長度lower_error=0.3*error#以y(x)軸方向為例,設置向上(右)誤差條的長度upper_error=error#得到一個誤差列表,為繪製非對稱的誤差條形圖做準備different_error=[lower_error,upper_error]#繪製第二幅誤差條形圖ax1.errorbar(x,y,xerr=different_error,fmt='o')ax1.set_title('非對稱的誤差條形圖')#轉變成對數刻度ax1.set_yscale('log')plt.show()

相關焦點

  • 一文講透,帶你學會用Python繪製帶誤差棒的柱狀圖和條形圖
    Python數據可視化,作為數據常用的必備技能,是目前大數據和數據分析的一個熱門,而matplotlib庫作為Python中最為常用和經典的二維繪圖庫,受到了很多人的青睞,最近已經和大家共同探討了多種類型的圖表的繪製,其中關於誤差棒圖,咱們已經在上次一起討論過了,今天咱們繼續深入研究誤差棒圖相關的知識
  • python學習筆記:同時畫多圖,折線圖,箱線圖,條形圖,柱狀圖等
    (figure)figure()#使用subplot創建多個子圖,下面的subplot(2,3,1)表示創建一個包含2行3列圖表的圖紙,1表示第一張圖subplot(2,3,1)plot(x,y)#折線圖subplot(2,3,2)#縱向條形圖
  • 數據可視化系列:手把手教你繪製帶誤差線的條形圖
    條形圖可以用於展示數據不同分類下的均值、中位數、標準差和置信區間等,Excel可以實現
  • R語言繪製條形圖
    作者:吳健 中國科學院大學 R語言、統計學愛好者,尤其擅長R語言和Arcgis在生態領域的應用分享個人公眾號:統計與程式語言
  • 【ggplot2】為條形圖和折線圖添加誤差線
    SE為 standard error of the mean 可以參考: http://blog.csdn.net/tanzuozhev/article/details/50830928# summarySE 計算標準差和標準誤差以及95%的置信區間.
  • R語言中繪製條形圖的函數:barplot
    條形圖(bar chart)是用寬度相同的條形的高度或長短來表示數據多少的圖形。它主要用來展示不同分類(橫軸)下某個數值型變量(縱軸)的取值。在實際中,條形圖主要有簡單條形圖,組合條形圖和堆疊條形圖。在R語言的基礎包中可以使用barplot()函數來繪製條形圖。
  • 圖形的繪製——誤差條形圖(Excel)
    上期我們說明了誤差線是什麼,以及如何用spss繪製。本期我們來介紹如何使用EXCEL畫出誤差條形圖。註:本文選用office2016及以上版本。在EXCEL中,不使用函數的話,是無法計算出均值、標準差這些結果的,我們需要先在spss中計算出來各組均值,再複製到EXCEL中。
  • 使用Matplotlib繪製堆積條形圖
    條形圖非常通用,易於閱讀,並且相對容易構建。就像任何可視化一樣,條形圖也有一些缺點,例如它們的可伸縮性較差。條形圖太多會使人感到難以閱讀,尤其是在當我們處理層次化的類別,也就是當我們有需要可視化的組和子組時,這個問題更常見。
  • Part1:怎麼採用SPSS繪製「條形圖」/「柱形圖」、誤差圖?
    一般直條橫置時稱為條形圖,縱置時稱為柱形圖或柱狀圖。在此都稱為條形圖。 一、把單個「分類變量」繪製成條形圖 案例1:描述「你參加體育活動的頻率」狀況。(數據:T001.sav) 問卷題目: B1你參加體育活動的頻率?
  • R語言繪圖(一):barplot()繪製條形圖
    條形圖:表示矩形條中的數據,條的長度與變量的值成比例。R語言中bartplot()函數可用於創建條形圖。
  • 基於Python圖表繪圖系統:matplotlib散點圖和氣泡圖,你了解嗎?
    繪製簡單散點圖既然已經知道了散點圖的主要作用,那麼下邊讓我們來繪製一個散點圖吧,一步一步,從簡單到進階!先來看一下我們的數據源,依然是一組小學的語數外考試成績:基於上述數據源,繪製語文成績與總成績的散點圖:繪製幾個圖之後,大家就會發現,常規的畫布啊標題啊標籤之類的設置都是通用的,只有畫圖函數是不一樣的,而大多數時候圖想畫出花樣來著,也是在各個參數上做文章,先來看下這個簡單的散點圖畫出來是什麼樣子的吧:通過這個圖能夠看出,語文成績和總成績之間存在一定的線性關係
  • python學習筆記:繪製風杆圖、箱線圖和簡單填充圖
    繪製風杆圖import matplotlib.pyplot as pltimport numpy as np#使用numpy生成不同的x和y樣本數組,x=np.linspace(start,stop,樣本數量)x=np.linspace(-20,20,8)y=np.linspace(0,20,8)#numpy的meshgrid(x,y)函數將創建出一個二維坐標網絡,觀測數據將在網格特定坐標上採樣
  • Python-matplotlib 學術型散點圖繪製
    本期推文只要介紹學術散點圖的繪製教程,涉及的內容主要還是matplotlib散點圖的繪製,只不過添加了相關性分析,擬合關係式和顏色映射散點密度(大多數的英文文章中多出現此類圖表
  • Python-matplotlib: 散點圖的繪製
    本文涉及的數據主要包括兩種,一種為全球各大洲的網格數據,用於繪製另類散點圖例,一種為全球各州的教育水平的師生比例,用於散點圖的繪圖。各大洲的網格數據如下(部分):如紅框所示,為所需要的數據,用於繪圖。本文的可視化繪製過程涉及seaborn的stripplot()方法,所需的庫、總體設置及用於繪製「抖動」的散點圖(類似ggplot2的position_jitter()),其目的就是為了防止散點重疊。
  • 每天學習一點R:16.barplot條形圖之整合點線圖
    (args.mges.number[1:8,]),fill = brewer.pal(8,"Set3"),bty = "n",ncol = 4,text.width = 0.21,cex = 2.5,text.font = 2)legend(0.01,0.55,legend = c("Total ARGs","16S rRNA gene"),pch = 19,col = c("red","black
  • 從數據到圖形|Origin軟體繪製散點圖的種類及方法
    Origin軟體作為最強大的科技繪圖軟體之一,除了基本的線條圖外,其散點圖、點線圖、條形圖以及相關的線性擬合、指數擬合等都是Excel無法與其相比的
  • python畫條形標籤圖
    python畫各種好看的圖形Python有很多可視化工具,本文推薦Matplotlib。Matplotlib是一種2D的繪圖庫,它可以支持硬拷貝和跨系統的交互,它可以在Python腳本、IPython的交互環境下、Web應用程式中使用。
  • Python繪圖筆記:繪製等高線圖和交叉區域圖
    x=np.arange(-1.5,1.5,0.1)y=np.arange(-1.5,1.5,0.1)#meshgrid的作用適用於生成網格型數據,可以接受兩個一維數組生成兩個二維矩陣,對應兩個數組中所有的(x,y)對X,Y=np.meshgrid(x,y)#可以理解為z=f(x,y),x和y
  • 10天學會|Python繪圖(7):繪製3D函數圖
    譚編前面也推出過利用OriginPro2019繪製過函數圖像。今天譚編採用Python3.6演示從一個z=f(x,y)類型的公式如何創建並繪製3D函數圖。本教程入選《同一幅圖》第一期:繪製3D函數圖。文末有關於《同一幅圖》項目的策劃簡介。2. 3D函數圖像本講利用Python3.6將上述兩個公式,在同一張三維坐標系中繪出2個曲面函數圖像。3.代碼原始碼文末有下載方式。
  • Graphpad繪圖教程 | XY圖-誤差棒
    前段時間,我們對Graphpad的功能(繪圖、統計等)做了詳細的介紹,推文連結如下:Graphpad prism9繪圖第一期 |  Graphpad