到底如何在Python中繪圖?

2021-03-02 Python職場圈

皮一下,就很開心😳

「那麼到底如何在 Python 中繪圖?」

曾經這個問題有一個簡單的答案:Matplotlib 是唯一的辦法。

如今,Python 作為數據科學的語言,有著更多的選擇。你應該用什麼呢?

今天向你展示四個最流行的 Python 繪圖庫:Matplotlib、Seaborn、Plotly 和 Bokeh。

再加上兩個值得考慮的優秀的後起之秀:Altair,擁有豐富的 API;Pygal,擁有漂亮的 SVG 輸出。

我還會看看 Pandas 提供的非常方便的繪圖 API。

示例繪圖

每個庫都採取了稍微不同的方法來繪製數據。

為了比較它們,我將用每個庫繪製同樣的圖,並給你展示原始碼。對於示例數據,我選擇了這張 1966 年以來英國大選結果的分組柱狀圖。

Bar chart of British election data

Matplotlib

Matplotlib 是最古老的 Python 繪圖庫,現在仍然是最流行的。

它創建於 2003 年,是 SciPy Stack 的一部分,SciPy Stack 是一個類似於 Matlab 的開源科學計算庫。

Matplotlib 為你提供了對繪製的精確控制。例如,你可以在你的條形圖中定義每個條形圖的單獨的 X 位置。下面是繪製這個圖表的代碼(你可以在這裡運行):

import matplotlib.pyplot as pltfrom votes import wide asdf#Initialise a figure. subplots() withno args gives one plot.# A little data preparation x = np.arange(len(years))#Plot each bar plot. Note: manually calculating the 'dodges' of the bars ax.bar(x - 3*width/2, df['conservative'], width, label='Conservative', color='#0343df') ax.bar(x - width/2, df['labour'], width, label='Labour', color='#e50000') ax.bar(x + width/2, df['liberal'], width, label='Liberal', color='#ffff14') ax.bar(x + 3*width/2, df['others'], width, label='Others', color='#929591')#Customise some display properties ax.set_title('UK election results') ax.set_xticks(x) #This ensures we have one tick per year, otherwise we get fewer ax.set_xticklabels(years.astype(str).values, rotation='vertical')#AskMatplotlib to show the plot

這是用 Matplotlib 繪製的選舉結果:

Matplotlib plot of British election data

Seaborn

Seaborn 是 Matplotlib 之上的一個抽象層;它提供了一個非常整潔的界面,讓你可以非常容易地製作出各種類型的有用繪圖。

不過,它並沒有在能力上有所妥協!Seaborn 提供了訪問底層 Matplotlib 對象的逃生艙口,所以你仍然可以進行完全控制。

Seaborn 的代碼比原始的 Matplotlib 更簡單(可在此處運行):

from votes importlongasdf#Some boilerplate to initialise things#Thisiswhere the actual plot gets made ax = sns.barplot(data=df, x="year", y="seats", hue="party", palette=['blue', 'red', 'yellow', 'grey'], saturation=0.6)#Customise some display properties ax.set_title('UK election results') ax.set_xticklabels(df["year"].unique().astype(str), rotation='vertical')#AskMatplotlib to show it

並生成這樣的圖表:

Seaborn plot of British election data

Plotly

Plotly 是一個繪圖生態系統,它包括一個 Python 繪圖庫。它有三個不同的接口:

2. 一個命令式接口,允許你使用類似 JSON 的數據結構來指定你的繪圖。3. 類似於 Seaborn 的高級接口,稱為 Plotly Express。

Plotly 繪圖被設計成嵌入到 Web 應用程式中。Plotly 的核心其實是一個 JavaScript 庫!它使用 D3 和 stack.gl 來繪製圖表。

你可以通過向該 JavaScript 庫傳遞 JSON 來構建其他語言的 Plotly 庫。官方的 Python 和 R 庫就是這樣做的。在 Anvil,我們將 Python Plotly API 移植到了 Web 瀏覽器中運行。

這是使用 Plotly 的原始碼(你可以在這裡運行):

import plotly.graph_objects as gofrom votes import wide asdf#Get a convenient list of x-values x = list(range(len(years))) go.Bar(x=x, y=df['conservative'], name='Conservative', marker=go.bar.Marker(color='#0343df')), go.Bar(x=x, y=df['labour'], name='Labour', marker=go.bar.Marker(color='#e50000')), go.Bar(x=x, y=df['liberal'], name='Liberal', marker=go.bar.Marker(color='#ffff14')), go.Bar(x=x, y=df['others'], name='Others', marker=go.bar.Marker(color='#929591')),#Customise some display properties title=go.layout.Title(text="Election results", x=0.5), xaxis_tickvals=list(range(27)), xaxis_ticktext=tuple(df['year'].values), fig = go.Figure(data=bar_plots, layout=layout)

選舉結果圖表:

Plotly plot of British election data

Bokeh

Bokeh(發音為 「BOE-kay」)擅長構建交互式繪圖,所以這個標準的例子並沒有將其展現其最好的一面。和 Plotly 一樣,Bokeh 的繪圖也是為了嵌入到 Web 應用中,它以 HTML 文件的形式輸出繪圖。

下面是使用 Bokeh 的代碼(你可以在這裡運行):

from bokeh.io import show, output_filefrom bokeh.models importColumnDataSource, FactorRange, HoverToolfrom bokeh.plotting import figurefrom bokeh.transform import factor_cmapfrom votes importlongasdf#Specify a file to write the plot to output_file("elections.html")#Tuples of groups(year, party) x = [(str(r[1]['year']), r[1]['party']) for r indf.iterrows()]#Bokeh wraps your data in its own objects to support interactivity source = ColumnDataSource(data=dict(x=x, y=y))'Conservative': '#0343df', fill_color = factor_cmap('x', palette=list(cmap.values()), factors=list(cmap.keys()), start=1, end=2) p = figure(x_range=FactorRange(*x), width=1200, title="Election results") p.vbar(x='x', top='y', width=0.9, source=source, fill_color=fill_color, line_color=fill_color)#Customise some display properties p.x_range.range_padding = 0.1 p.yaxis.axis_label = 'Seats' p.xaxis.major_label_orientation = 1 p.xgrid.grid_line_color = None

圖表如下:

 

Bokeh plot of British election data

Altair

Altair 是基於一種名為 Vega 的聲明式繪圖語言(或「可視化語法」)。這意味著它具有經過深思熟慮的 API,可以很好地擴展複雜的繪圖,使你不至於在嵌套循環的地獄中迷失方向。

與 Bokeh 一樣,Altair 將其圖形輸出為 HTML 文件。這是代碼(你可以在這裡運行):

from votes importlongasdf'Conservative': '#0343df',df['year'] = df['year'].astype(str)#Here's where we make the plot chart = alt.Chart(df).mark_bar().encode( x=alt.X('party', title=None), column=alt.Column('year', sort=list(df['year']), title=None), color=alt.Color('party', scale=alt.Scale(domain=list(cmap.keys()), range=list(cmap.values()))) # Save it as an HTML file. chart.save('altair-elections.html')

結果圖表:

Altair plot of British election data

Pygal

Pygal 專注於視覺外觀。它默認生成 SVG 圖,所以你可以無限放大它們或列印出來,而不會被像素化。Pygal 繪圖還內置了一些很好的交互性功能,如果你想在 Web 應用中嵌入繪圖,Pygal 是另一個被低估了的候選者。

代碼是這樣的(你可以在這裡運行它):

from pygal.style importStylefrom votes import wide asdf colors=('#0343df', '#e50000', '#ffff14', '#929591') font_family='Roboto,Helvetica,Arial,sans-serif', background='transparent',#Set up the bar plot, ready for data title="UK Election Results",#Add four data sets to the bar plot c.add('Conservative', df['conservative']) c.add('Labour', df['labour']) c.add('Liberal', df['liberal']) c.add('Others', df['others'])#Writethis to an SVG file c.render_to_file('pygal.svg')

繪製結果:

Pygal plot of British election data

Pandas

Pandas 是 Python 的一個極其流行的數據科學庫。它允許你做各種可擴展的數據處理,但它也有一個方便的繪圖 API。因為它直接在數據幀上操作,所以 Pandas 的例子是本文中最簡潔的代碼片段,甚至比 Seaborn 的代碼還要短!

Pandas API 是 Matplotlib 的一個封裝器,所以你也可以使用底層的 Matplotlib API 來對你的繪圖進行精細的控制。

這是 Pandas 中的選舉結果圖表。代碼精美簡潔!

from matplotlib.colors importListedColormapfrom votes import wide asdf cmap = ListedColormap(['#0343df', '#e50000', '#ffff14', '#929591']) ax = df.plot.bar(x='year', colormap=cmap) ax.set_title('UK election results')

繪圖結果:

Python 提供了許多繪製數據的方法,無需太多的代碼。

雖然你可以通過這些方法快速開始創建你的繪圖,但它們確實需要一些本地配置。

下面分享幾個實例操作:

1. 散點圖
Scatteplot是用於研究兩個變量之間關係的經典和基本圖。如果數據中有多個組,則可能需要以不同顏色可視化每個組。在Matplotlib,你可以方便地使用。

# Import dataset
midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")

# Prepare Data
# Create as many colors as there are unique midwest['category']
categories = np.unique(midwest['category'])
colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]

# Draw Plot for Each Category
plt.figure(figsize=(16, 10), dpi= 80, facecolor='w', edgecolor='k')

for i, category in enumerate(categories):
plt.scatter('area', 'poptotal',
data=midwest.loc[midwest.category==category, :],
s=20, c=colors[i], label=str(category))

# Decorations
plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),
xlabel='Area', ylabel='Population')

plt.xticks(fontsize=12); plt.yticks(fontsize=12)
plt.title("Scatterplot of Midwest Area vs Population", fontsize=22)
plt.legend(fontsize=12)
plt.show()

2. 帶邊界的氣泡圖
有時,您希望在邊界內顯示一組點以強調其重要性。在此示例中,您將從應該被環繞的數據幀中獲取記錄,並將其傳遞給下面的代碼中描述的記錄。encircle()

from matplotlib import patches
from scipy.spatial import ConvexHull
import warnings; warnings.simplefilter('ignore')
sns.set_style("white")

# Step 1: Prepare Data
midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")

# As many colors as there are unique midwest['category']
categories = np.unique(midwest['category'])
colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]

# Step 2: Draw Scatterplot with unique color for each category
fig = plt.figure(figsize=(16, 10), dpi= 80, facecolor='w', edgecolor='k')

for i, category in enumerate(categories):
plt.scatter('area', 'poptotal', data=midwest.loc[midwest.category==category, :], s='dot_size', c=colors[i], label=str(category), edgecolors='black', linewidths=.5)

# Step 3: Encircling
# https://stackoverflow.com/questions/44575681/how-do-i-encircle-different-data-sets-in-scatter-plot
def encircle(x,y, ax=None, **kw):
if not ax: ax=plt.gca()
p = np.c_[x,y]
hull = ConvexHull(p)
poly = plt.Polygon(p[hull.vertices,:], **kw)
ax.add_patch(poly)

# Select data to be encircled
midwest_encircle_data = midwest.loc[midwest.state=='IN', :]

# Draw polygon surrounding vertices
encircle(midwest_encircle_data.area, midwest_encircle_data.poptotal, ec="k", fc="gold", alpha=0.1)
encircle(midwest_encircle_data.area, midwest_encircle_data.poptotal, ec="firebrick", fc="none", linewidth=1.5)

# Step 4: Decorations
plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),
xlabel='Area', ylabel='Population')

plt.xticks(fontsize=12); plt.yticks(fontsize=12)
plt.title("Bubble Plot with Encircling", fontsize=22)
plt.legend(fontsize=12)
plt.show()

3. 帶線性回歸最佳擬合線的散點圖
如果你想了解兩個變量如何相互改變,那麼最合適的線就是要走的路。下圖顯示了數據中各組之間最佳擬合線的差異。要禁用分組並僅為整個數據集繪製一條最佳擬合線,請從下面的調用中刪除該參數。

# Import Data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")
df_select = df.loc[df.cyl.isin([4,8]), :]

# Plot
sns.set_style("white")
gridobj = sns.lmplot(x="displ", y="hwy", hue="cyl", data=df_select,
height=7, aspect=1.6, robust=True, palette='tab10',
scatter_kws=dict(s=60, linewidths=.7, edgecolors='black'))

# Decorations
gridobj.set(xlim=(0.5, 7.5), ylim=(0, 50))
plt.title("Scatterplot with line of best fit grouped by number of cylinders", fontsize=20)

每個回歸線都在自己的列中。
或者,您可以在其自己的列中顯示每個組的最佳擬合線。你可以通過在裡面設置參數來實現這一點。

# Import Data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")
df_select = df.loc[df.cyl.isin([4,8]), :]

# Each line in its own column
sns.set_style("white")
gridobj = sns.lmplot(x="displ", y="hwy",
data=df_select,
height=7,
robust=True,
palette='Set1',
col="cyl",
scatter_kws=dict(s=60, linewidths=.7, edgecolors='black'))

# Decorations
gridobj.set(xlim=(0.5, 7.5), ylim=(0, 50))
plt.show()

4. 抖動圖
通常,多個數據點具有完全相同的X和Y值。結果,多個點相互繪製並隱藏。為避免這種情況,請稍微抖動點,以便您可以直觀地看到它們。這很方便使用

# Import Data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")

# Draw Stripplot
fig, ax = plt.subplots(figsize=(16,10), dpi= 80)
sns.stripplot(df.cty, df.hwy, jitter=0.25, size=8, ax=ax, linewidth=.5)

# Decorations
plt.title('Use jittered plots to avoid overlapping of points', fontsize=22)
plt.show()

5. 計數圖
避免點重疊問題的另一個選擇是增加點的大小,這取決於該點中有多少點。因此,點的大小越大,周圍的點的集中度就越大。

# Import Data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")
df_counts = df.groupby(['hwy', 'cty']).size().reset_index(name='counts')

# Draw Stripplot
fig, ax = plt.subplots(figsize=(16,10), dpi= 80)
sns.stripplot(df_counts.cty, df_counts.hwy, size=df_counts.counts*2, ax=ax)

# Decorations
plt.title('Counts Plot - Size of circle is bigger as more points overlap', fontsize=22)
plt.show()

6. 邊緣直方圖
邊緣直方圖具有沿X和Y軸變量的直方圖。這用於可視化X和Y之間的關係以及單獨的X和Y的單變量分布。該圖如果經常用於探索性數據分析(EDA)。

# Import Data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/mpg_ggplot2.csv")

# Create Fig and gridspec
fig = plt.figure(figsize=(16, 10), dpi= 80)
grid = plt.GridSpec(4, 4, hspace=0.5, wspace=0.2)

# Define the axes
ax_main = fig.add_subplot(grid[:-1, :-1])
ax_right = fig.add_subplot(grid[:-1, -1], xticklabels=[], yticklabels=[])
ax_bottom = fig.add_subplot(grid[-1, 0:-1], xticklabels=[], yticklabels=[])

# Scatterplot on main ax
ax_main.scatter('displ', 'hwy', s=df.cty*4, c=df.manufacturer.astype('category').cat.codes, alpha=.9, data=df, cmap="tab10", edgecolors='gray', linewidths=.5)

# histogram on the right
ax_bottom.hist(df.displ, 40, histtype='stepfilled', orientation='vertical', color='deeppink')
ax_bottom.invert_yaxis()

# histogram in the bottom
ax_right.hist(df.hwy, 40, histtype='stepfilled', orientation='horizontal', color='deeppink')

# Decorations
ax_main.set(title='Scatterplot with Histograms displ vs hwy', xlabel='displ', ylabel='hwy')
ax_main.title.set_fontsize(20)
for item in ([ax_main.xaxis.label, ax_main.yaxis.label] + ax_main.get_xticklabels() + ax_main.get_yticklabels()):
item.set_fontsize(14)

xlabels = ax_main.get_xticks().tolist()
ax_main.set_xticklabels(xlabels)
plt.show()

相關焦點

  • 「繪圖,讓科學生動起來」:Python-matplotlib繪圖(專題一)python環境搭建篇
    筆者寄語:各位好,從今天開始,「科學是什麼東東」將推出一個全新系列專題:採用時下最流行的python計算機設計語言,對其中的一個第三方繪圖庫,即matplotlib繪圖庫進行講解,並將其強大的繪圖與編程功能應用到數學函數,化學,地理,物理,教育等諸多領域。
  • python的繪圖利器--海龜繪圖turtle
    作為你學習python的第一個程序,樹哥決定直接來一個實戰乾貨程序:利用海龜turtle來畫一個奧運五環。這樣就既可以理解庫的概念和使用,又可以理解程序的基本概念。這個語句是個固定格式,有這句話畫完圖,繪圖窗口還保留,如果沒有這句話,繪圖窗口就直接關閉了,所以初期都加上就好了。
  • 如何用matplotlib繪圖呢?
    使用過python做數據分析的小夥伴都知道,matplotlib是一款命令式、較底層、可定製性強、圖表資源豐富、簡單易用、出版質量級別的python 2D繪圖庫。matplotlib算是python繪圖的元老級庫,類似程式語言裡的C語言。
  • python海歸繪圖法是怎麼回事?三秋道果說python第9講
    三秋道果說python先補理論:python程序保存與執行交互式解釋器是Python的亮點之一,它讓你能夠實時地測試解決方案以及嘗試使用Python。要了解隱藏在背後的工作原理,只需嘗試使用即可!(如果你使用的不是IDLE,後面在分享,了解如何從命令提示符運行程序。) 結果如何呢?在解釋器窗口中列印了Hello, world!,這正是我們想要的結果。根據你使用的版本,解釋器提示符可能消失,要讓它重新出現,可在解釋器窗口中按回車鍵。 接下來,將腳本擴展成下面這樣: name = input("What is your name?
  • 小白開始學Python最著名的繪圖庫
    今天就先了解一下Python中最著名的繪圖庫Matplotlib,看看到底如何做出漂亮的圖有的小夥伴不解,為啥叫它鼻祖的,因為其他的可視化的數據包都是從它演變而來,二次封裝的。Matplotlib本身是免費而且開源的,貌看一下感覺非常複雜,API超級多。
  • 只要十分鐘,python繪圖神器turtle了解一下?
    python的強大在於它有許多的強大的庫,turtle就是其中之一。利用turtle,你可以進行交互式的繪畫,作為一個藝術白痴,想要畫一幅畫可能很困難,但是利用python的turtle庫,只需要幾行代碼你就能實現繪畫。
  • 利用Python對WRFout文件進行簡單繪圖
    這兩個月以來,我熟練掌握了Linux下anaconda的安裝和卸載以及學會了如何心平氣和地接受按下回車後出現的全新的error,謝謝你,WRF!謝謝你,Linux!關於運行環境和編譯器我用的是祖傳的VMware Workstation Pro中的Ubuntu12.04,Linux安裝好可視化界面後還是相對友好的,基礎的需求通過百度就可以解決。
  • Python氣象繪圖教程(三)
    更多的關於基礎折線圖技巧前面已經講了很多關於折線圖的常用參數,但是像顏色關鍵詞在黑白文獻中應該如何修改呢
  • Python微課 | Seaborn——Python優雅繪圖(上)
    Matplotlib:Python基礎繪圖包(本課中輔助繪圖)本節課內容與目的:通過官方文檔(Document)裡的現成示例學習Seaborn包,熟悉Seaborn繪圖背景的調節。sns.lmplot()x= 用於指定子圖中以什麼為x坐標y= 用於指定子圖中以什麼為y坐標col= 用於指定數據集按哪個屬性分類繪製子圖hue= 用於指定數據集按哪個屬性分類繪製子圖col_wrap= 用於指定子圖一行放幾個palette= 用於指定繪圖顏色選擇範圍ci= 用於控制95%置信帶的有無scatter_kws={「s
  • Python學習第94課-通過第三方接口獲得數據並導入Python繪圖
    【每天幾分鐘,從零入門python編程的世界!】上節課我們學習了導入外部文件數據並繪圖。這節課我們學習通過第三方接口獲得數據並導入Python進行繪圖。我們的數據接口使用Tushare,Tushare是一個免費、開源的python財經數據接口包。
  • 深度講解 Python 四大常用繪圖庫的「繪圖原理」
    我反正是非常崩潰的,每次就感覺繪圖代碼怎麼這麼多,繪圖邏輯完全一團糟,不知道如何動手。後面隨著自己反覆的學習,我找到了學習 Python 繪圖庫的方法,那就是學習它的繪圖原理。正所謂:「知己知彼,百戰不殆」,學會了原理,剩下的就是熟練的問題了。
  • 深度講解Python四大常用繪圖庫的「繪圖原理」
    即使我選擇了某一個繪圖庫後,我也不知道怎麼學,我不知道第一步做什麼,也不知道接下來該怎麼做,四個字一學就忘。其實這也是我當時很困擾的一個問題,我當時在學習完numpy和pandas後,就開始了matplotlib的學習。我反正是非常崩潰的,每次就感覺繪圖代碼怎麼這麼多,繪圖邏輯完全一團糟,不知道如何動手。
  • Python使用tkinter製作一個簡易的繪圖程序一(Python GUI編程)
    【課題內容】使用tkinter製作一個帶有菜單的繪圖工具,菜單中選擇繪製圖形的內容(程序中我們建立了繪製圓、橢圓、矩形、直線等圖形的方法),還可以使用菜單命令清除繪製的圖形界面,菜單提供幫助信息(主要顯示如何繪製圖形的方法),菜單彈出框顯示應用程式版本信息。
  • Python數據可視化之高速繪圖神器PyQtGraph庫,強烈建議收藏
    但是這些繪圖庫也存在著不足,即在圖形繪製速度上有所欠缺,特別是對於科研算法方面的數據可視化,很多情況需要實時繪圖,要求能夠提供儘可能快的繪製刷新速度,那這些庫顯的有些力不從心了。而我們下面要介紹的繪圖庫-PyQtGraph庫,則在繪圖速度方面表現尤其突出,在不失繪圖美觀、功能強大的前提下,在繪圖速度方面作了極大的優化,特別適合於實時數據採集的動態圖形繪製場合。
  • Python繪圖筆記:繪製四色散點圖和誤差條形圖
    figure1#導入繪製散點圖所需要的包import matplotlib.pyplot as pltfrom numpy.random import rand#生成繪圖所需的圖紙, alpha=0.3, edgecolors='none')#設置圖例和網格線ax.legend()ax.grid(True)plt.show()2.填充標記#python2
  • 如何在Python裡用ggplot2繪圖
    ggplot2的繪圖方法不僅確保每個繪圖包含特定的基本元素,而且在很大程度上簡化了代碼的可讀性。但是,如果您經常使用Python,那麼實現圖形語法將非常具有挑戰性,因為在流行的繪圖庫(如matplotlib或seaborn)中缺少標準化語法。如果您仍然希望使用圖形語法,那麼Python包plotnine為您提供了另一種選擇。
  • 如何系統地學習Python 中 matplotlib, numpy, scipy, pandas?
    Matplotlib:Python 中常用的繪圖庫,能在跨平臺的交互式環境生成高質量圖形。後來在它的基礎上又衍生了更為高級的繪圖庫 Seaborn。總的來說,如果你想理解和處理手頭的數據,就用 Pandas;如果你想執行一些複雜的計算,就用 Numpy 和 SciPy;如果你想將數據可視化,就用 Matplotlib。
  • Python那些事——用pythonhon寫個繪圖工具!還怕什麼繪圖嗎!
    在這篇博客裡將為你介紹如何通過numpy和cv2進行結和去創建畫布,包括空白畫布、白色畫布和彩色畫布。創建畫布是製作繪圖工具的前提,有了畫布我們就可以在畫布上盡情的揮灑自己的藝術細胞。還在為如何去繪圖煩惱的小夥伴趕緊看過來,這裡手把手教你解決問題~~~~Python那些事——用pythonhon寫個繪圖工具!還怕什麼繪圖嗎!!
  • Python數據可視化--在Python中調用ggplot進行繪圖
    如果你熟悉R語言,那麼你一定聽過ggplot2,它是R語言中非常好的數據可視化包,容易學習,功能強大。
  • 角蟲繪圖中如何投稿?角蟲繪圖投稿的具體方法
    各位同學們知道在角蟲繪圖匯總如何投稿嗎?不知道的話可以隨著小編一起去下文看看角蟲繪圖中投稿的具體操作方法。百度瀏覽器軟體版本:8.7.5000.4980 官方正式版網絡工具立即查看1、想要在角蟲繪圖中進行投稿的話,你需要先點擊主頁左上角的橫槓按鈕,打開個人列表選擇其中的「畫冊」選項,進入畫冊頁面中。2、然後從中長按選擇自己想要上傳的作品,點擊右上方的上傳按鈕,開始進行上傳。