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

2021-01-13 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學習筆記:同時畫多圖,折線圖,箱線圖,條形圖,柱狀圖等
    (2,3,1)plot(x,y)#折線圖subplot(2,3,2)#縱向條形圖bar(x,y)subplot(2,3,3)#水平條形圖(h可以看做是horizontal的縮寫)barh(x,y)#畫一個(x,y)和(x,y1)兩個條形圖疊加在一起的圖,以(x,y)的柱狀圖為底subplot(2,3,4)bar(x,y)y1=[7,8,5,3]#'r'紅色bar(x,y1,bottom=y,color
  • 基於Python圖表繪圖系統:matplotlib散點圖和氣泡圖,你了解嗎?
    繪製簡單散點圖既然已經知道了散點圖的主要作用,那麼下邊讓我們來繪製一個散點圖吧,一步一步,從簡單到進階!這是語文成績和總成績的圖,但是我們數據一共有三個學科數據,可不可以把三個學科的圖繪製到一起呢?當然是可以的啊,和繪製堆疊條形圖和環形圖的原理是一樣的,下邊我們來繪製一下三個學科和總成績之間的散點圖。
  • 使用Matplotlib繪製堆積條形圖
    條形圖非常通用,易於閱讀,並且相對容易構建。就像任何可視化一樣,條形圖也有一些缺點,例如它們的可伸縮性較差。條形圖太多會使人感到難以閱讀,尤其是在當我們處理層次化的類別,也就是當我們有需要可視化的組和子組時,這個問題更常見。在這種情況下,堆積條形圖是一個很好的選擇,它讓我們能更好地比較和分析數據。
  • 誤差棒圖你真的會嗎?一文幫你用Python繪製,拿走不謝
    在Python的數據可視化中,matplotlib庫是最為常用和最為經典的二維數據繪圖庫,因此如果在Python編程中,想要繪製漂亮的圖表,首先你要掌握matplotlib庫中的函數使用方法,最近和大家一直在探討如何用Python繪製圖表的內容,那麼今天呢,咱們繼續來聊聊Python數據可視化中有關圖表的繪製問題。
  • 重磅:包郵寄送《Python數據可視化之美》
    R語言以ggplot2包及其拓展包人性化的繪圖語法大受用戶的喜愛,特別是生物信息與醫學研究者。Rggplot2有兩本很經典的教程:ggplot2 Elegant Graphicsfor Data Analysis和R Graphics Cookbook,兩本書重點介紹了ggplot2包的繪圖語法及常見圖表的繪製方法。
  • 想用Python做數據可視化?先邁過這個「坎」
    這就是今天分享這篇文章的初衷,通過列舉一些使用頻率較高的工具,以及使用它們創建簡單的條形圖的方法,幫助各位進行簡單的梳理。其實,在大多數情況下,可視化工具可以在沒有pandas的情況下使用,但pandas+可視化工具的組合很常見,這是一個很好的起始點。 pandas 我通常會用pandas DataFrame開始製作各種繪圖的工作。這樣有一個優勢,就是pandas提供內置的繪圖功能,它是matplotlib之上的一層。
  • 數據分析學習:手把手教你用直方圖、餅圖和條形圖做數據分析...
    對於定量數據,要想了解其分布形式是對稱的還是非對稱的、發現某些特大或特小的可疑值,可做出頻率分布表、繪製頻率分布直方圖、繪製莖葉圖進行直觀分析;對於定性數據,可用餅圖和條形圖直觀地顯示其分布情況。
  • R繪圖之散點圖:10散點圖矩陣
    散點圖矩陣可以顯示矩陣數據兩兩之間的散點圖。1. 最樸素的繪製方法,是用pairs.
  • 一文帶你學會如何用Python生成帶誤差棒的並列和堆積柱狀圖
    前面幾次,已經和大家探討過柱狀圖的繪製,且最為柱狀圖的深入內容,咱們也一起探討過了並列柱狀圖和堆積柱狀圖,那今天呢,咱們繼續深入柱狀圖相關的內容,來聊聊在Python中如何繪製帶誤差棒的並列柱狀圖和堆積柱狀圖。好啦,咱們就正式開始吧!
  • Python超強繪圖庫Plotly,手把手教你玩轉!
    代碼,繪製出更棒的圖表。「沉沒成本謬誤」是人們常犯的幾種認知偏差之一:由於在某件事上已經投入了(「沉沒」)太多的成本,即使這件事已經註定要失敗,人們傾向於繼續投入更多的時間和金錢。比如,我們可以先用 .pivot() 進行數據透視表分析,然後再生成條形圖。
  • R繪圖之散點圖:13Wilkinson點圖和Cleveland點圖
    Wilkinson點圖Wilkinson點圖是有點像直方圖,在ggplot2包中用geom_dotplot
  • AutoCAD繪製單點和多點,修改點的樣式
    在AutoCAD中,選擇「繪圖」|「點」命令或「PO」快捷鍵,可以在繪圖窗口中依次指定一個點;選擇「繪圖」|「點」|「多點」命令,可以在繪圖窗口中一次指定多個點,直到按Esc鍵結束。示例1:在繪圖窗口中任意位置創建3個點,如圖1所示。
  • 漂亮圖表也可信手拈來,一文學會用Python繪製堆積折線圖
    今天咱們還是接著上次的話題,繼續和大家聊聊關於Python繪圖相關的東東哦,上次已經和大家討論完了如何給自己所繪製的圖表中添加裝飾線以及修改裝飾線密度的方法,今天呢,咱們再聊點的新的東東哦,還是和大家繼續深耕Python經典的matplotlib庫哦!好啦,咱們就開始吧!
  • 線路圖怎麼畫?簡單快速繪製線路圖怎麼的軟體
    線路圖繪製方法可以通過以下五個步驟,即可輕鬆繪製出一幅專業實用的線路圖。第一步:點擊下載「億圖圖示「軟體,或訪問在線版億圖圖示。啟用軟體,開始作圖!第二步:新建線路圖。搜索「線路圖」。然後從例子庫中,選擇一個模板,點擊打開線路圖模板。
  • 用Python畫出動態圖後,我眼睛亮了
    02教你用Python繪製美國申請失業險人數動態圖我們使用pyecharts包進行美國申請失業保險人數的動態趨勢圖的繪製,如果你沒有安裝pyecharts,可以使用以下代碼進行pip安裝。pip install pyecharts製作這樣的一個動態圖使用的是Pyecharts中的的TimeLine(時間線輪播圖)的類。使用TimeLine的方法,你可以輕鬆地將繪製帶有時間序列的動態圖形,比如動態條形圖、動態餅圖、動態桑基圖、動態地圖等等。首先需要導入我們需要使用的包,其中pandas用於數據整理,pyecharts用於繪圖。
  • 使用Pandas,Seaborn和Plotly繪製漂亮的圖表
    Left chart: Histogram and kernel density estimation of 「Life Ladder」 for Asian countries in 2018; Ri繪製雙變量分布每當我想直觀地探索兩個或多個變量之間的關係時,通常都會歸結為某種形式的散點圖和分布評估
  • 用Python的Pandas和Matplotlib繪製股票KDJ指標線
    我最近出了一本書,《基於股票大數據分析的Python入門實戰 視頻教學版》,京東連結:https://item.jd.com/69241653952.html,在其中給出了MACD,KDJ等指標圖的繪製方法。這裡將根據KDJ的算法,計算並繪製KDJ指標線。
  • 聽說印象筆記支持思維導圖了?這幾個方法,讓OneNote也實現
    OneNote並不支持思維導圖,但可以通過一些旁門左道來做成這件事兒。 「Mind Map forOneNote」和「OneMind for OneNote」。這兩款插件可以讓OneNote支持思維導圖。
  • Python數據可視化:用Seaborn繪製高端玩家版散點圖
    散點圖是用於研究兩個變量之間關係的經典的和基本的圖表。如果數據中有多個組,則可能需要以不同顏色可視化每個組。今天我們畫普通散點圖、邊際分布線性回歸散點圖、散點圖矩陣、帶線性回歸最佳擬合線的散點圖本文示例多是來自官方文檔,這裡我只是做一下整理,讓大家知道散點圖的不同玩法,不要再繪製老掉牙的普通玩家版散點圖了。
  • Matlab 若干繪圖區可以建立獨立的坐標系並繪製圖形
    在實際應用中,經常需要在一個圖形窗口中繪製若干個獨立的圖形,這就需要對圖形窗口進行分割。分割後的圖形窗口由若干個繪圖區組成,每一個繪圖區可以建立獨立的坐標系並繪製圖形。同一圖形窗口下的不同圖形稱為子圖。