<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          動起來!數(shù)據(jù)展示不再枯燥!

          共 14497字,需瀏覽 29分鐘

           ·

          2020-07-27 18:30

          本文說明

          這里我需要事先說明一點:不管學習什么,官網(wǎng)是最好的老師。對于pyecharts繪圖庫,知道了他的繪圖原理后,不管繪制任何圖形難度并不是很大,唯一難住我們的就是pyecharts的參數(shù)太多,我們并不會用,因此就必須學會使用官網(wǎng)。

          《pyecharts的繪圖原理詳解》

          下圖是官方提供的繪制時間輪播圖的一個案例,本文就是借助這個案例的代碼,完成今天這個文章的操作。

          84ec4d7be49ddbdfbb79b8f754337267.webp

          在講述本文之前,為了滿足大家的好奇心,我們先來看看最終做出來的效果呈現(xiàn)。

          a2eae30fc8d32099f6ce9ae5c4c12b0b.webp

          那么 今天的這個案例是怎么做出來的?我們一步步為大家講解。

          1. 構造數(shù)據(jù)

          1)導入相關庫

          import?random
          import?pandas?as?pd
          import?math

          2)構造數(shù)據(jù)

          cats0?=?["鹿",?"飛機",?"火車",?"船",?"汽車"]
          color0?=?["#D6A5DD",?"#BCEE68",?"#EBBDBF",?"#76CBE8",?"#A020F0"]
          year0?=?list(range(1977,?2021))
          year?=?[]
          for?i?in?year0:
          ????for?j?in?range(len(cats0)):
          ????????year.append(i)
          print(year[:20])
          -------------------------------------------------------------
          cats?=?cats0?*?len(year0)
          print("cats的值為:",?cats[:20])

          color?=?color0?*?len(year0)
          print("color的值為:",?color[:20])
          -------------------------------------------------------------
          value?=?[]
          for?i?in?year:
          ????value.append(math.pow(random.randint(0,50),?2))???
          print(value[:20])
          -------------------------------------------------------------
          df?=?pd.DataFrame()
          df["year"]?=?year
          df["value"]?=?value
          df["cats"]?=?cats
          df["color"]?=?color
          df["csum"]?=?df.groupby(["cats"])["value"].cumsum()
          df.head(10)

          結果如下:

          2d2b72ff9f1fb9a5651ded7a7f030af8.webp

          關于數(shù)據(jù)構造這一塊兒的代碼,應該很容易,這里就不一一贅述了,但是有一點我需要說明:關于顏色的調整。這里我提供一個網(wǎng)址給大家,如何配色好看取決于你們自己。

          顏色選擇:http://suo.im/6luxuy

          9691a40c2a4778eb3ba3c62d9dccf1ba.webp

          這里插入一句:我這里pyecharts的官網(wǎng)老是打不開,不知道是怎么回事。因此關于圖中一些參數(shù)的說明,我就不一一介紹了。

          那么你應該怎么學呢?其實很容易。打開官網(wǎng),用到了什么參數(shù),就把這個參數(shù)粘貼到官網(wǎng)中,進行查詢。由于pyecharts的官網(wǎng)是中文,相信大家不會有什么難度。

          pyecharts的官網(wǎng):http://suo.im/5CmOrt

          2. 直接使用官網(wǎng)代碼繪制【時間輪播圖】

          from?pyecharts?import?options?as?opts
          from?pyecharts.charts?import?Bar,?Timeline

          tl?=?Timeline()
          for?i?in?range(1977,2021):
          ????df_sub?=?df[df["year"]==i].sort_values(by="csum")
          ????cats_list?=?list(df_sub["cats"])
          ????csum_list?=?list(df_sub["csum"])
          ????color_list?=?list(df_sub["color"])
          ????y?=?[]
          ????
          ????bar?=?(
          ????????Bar(init_opts=opts.InitOpts(width='720px',?height='320px'))
          ????????.add_xaxis(xaxis_data=cats_list)
          ????????.add_yaxis(series_name='',?yaxis_data=csum_list,?label_opts?=?opts.LabelOpts(position="right",font_weight="bold"),category_gap=30)
          ????????.reversal_axis()
          ????????.set_global_opts(
          ????????????title_opts?=?opts.TitleOpts("看看誰跑得快(時間:{}?年)".format(i),pos_left=350,padding=[30,20]),
          ????????????xaxis_opts?=?opts.AxisOpts(max_=50000)
          ????????)
          ????)
          ????tl.add(bar,?"{}?年".format(i))
          ????tl.add_schema(play_interval=300,?is_loop_play=False)
          tl.render("a.html")

          結果如下:

          41b739389674b26f49fd75e69dccd847.webp

          觀察上圖可以發(fā)現(xiàn):效果看起來還不錯,有一點不太好的就是顏色太單調。

          3. 不同的柱形條,顯示不同的顏色

          from?pyecharts?import?options?as?opts
          from?pyecharts.charts?import?Bar,?Timeline

          tl?=?Timeline()
          for?i?in?range(1977,2021):
          ????df_sub?=?df[df["year"]==i].sort_values(by="csum")
          ????cats_list?=?list(df_sub["cats"])
          ????csum_list?=?list(df_sub["csum"])
          ????color_list?=?list(df_sub["color"])
          ????y?=?[]
          ????for?j?in?range(5):
          ????????y.append(
          ????????????opts.BarItem(
          ????????????????name?=?cats_list[j],
          ????????????????value?=?csum_list[j],
          ????????????????itemstyle_opts?=?opts.ItemStyleOpts(color=color_list[j])
          ????????????)
          ????????)
          ????
          ????bar?=?(
          ????????Bar(init_opts=opts.InitOpts(width='720px',?height='320px'))
          ????????.add_xaxis(xaxis_data=cats_list)
          ????????.add_yaxis(series_name='',?yaxis_data=y,?label_opts?=?opts.LabelOpts(position="right",font_weight="bold"),category_gap=30)
          ????????.reversal_axis()
          ????????.set_global_opts(
          ????????????title_opts?=?opts.TitleOpts("看看誰跑得快(時間:{}?年)".format(i),pos_left=350,padding=[30,20]),
          ????????????xaxis_opts?=?opts.AxisOpts(max_=50000)
          ????????)
          ????)
          ????tl.add(bar,?"{}?年".format(i))
          ????tl.add_schema(play_interval=300,?is_loop_play=False)
          tl.render("b.html")

          結果如下:

          38ba462665d99d372195ea97fe62bc5a.webp

          觀察上圖可以發(fā)現(xiàn):此時我們已經為不同的柱形條,加上了不同的顏色,但是如果能為每個柱形條,加上“圖形標志”就完美了。

          4. 給不同柱形條加上特殊標志

          from?pyecharts?import?options?as?opts
          from?pyecharts.charts?import?Bar,?Timeline

          symbols?=?{
          ????'鹿':'path://M807.911811?243.502362c-4.837795?10.48189-12.900787?33.058268-18.544882?50.796851-5.644094?17.738583-14.513386?42.733858-20.15748?56.440944-9.675591?24.188976-9.675591?24.188976-24.188977-5.644094-7.256693-16.932283-16.932283-28.220472-20.963779-25.801575-12.094488?7.256693-6.450394?50.79685?9.67559?77.404725?18.544882?30.63937?22.576378?108.044094?6.450394?129.814173-8.869291?11.288189-16.125984?12.094488-48.377953?4.837795-38.702362-8.869291-38.702362-8.869291-37.896063-66.116535?0-42.733858?4.837795-64.503937?15.319685-82.24252?49.990551-78.211024?52.409449-104.818898?6.450394-55.634646-30.63937?31.445669-46.765354?33.864567-31.445669?4.837796?4.837795-9.675591?8.869291-36.283465?8.869291-59.666142-0.806299-38.702362-1.612598-41.12126-12.094488-27.414173-6.450394?8.062992-13.707087?30.63937-16.932283?49.990551-5.644094?37.896063-11.288189?42.733858-27.414174?23.382677-5.644094-6.450394-15.319685-12.094488-20.963779-12.094488-21.770079?0-11.288189?23.382677?23.382677?52.409449?33.864567?28.220472?33.864567?28.220472?26.607874?103.206299-4.031496?40.314961-8.062992?75.792126-9.675591?77.404724-1.612598?1.612598-17.738583-6.450394-35.477165-18.544882-53.215748-34.670866-78.211024-24.188976-32.251968?13.707087?32.251969?27.414173?31.445669?55.634646-0.8063?84.661417-21.770079?19.351181-25.801575?29.833071-33.058267?88.692914-10.48189?82.24252-0.806299?80.629921-167.710237?33.864567-29.026772-8.062992-69.341732-16.932283-91.111811-19.351182-32.251969-4.031496-40.314961-2.418898-52.409448?12.900788-7.256693?8.869291-23.382677?28.220472-35.477166?42.733858-12.900787?14.513386-22.576378?32.251969-22.576378?40.314961?0?12.900787?1.612598?12.900787?22.576378?0?12.094488-8.062992?30.63937-23.382677?41.12126-33.864567?27.414173-27.414173?36.283465-13.707087?41.12126?62.891338?3.225197?50.79685?1.612598?66.922835-7.256693?71.76063-20.96378?11.288189-2.418898?30.63937?34.670866?36.283465?50.79685?8.062992?62.891339?1.612598?31.445669-16.932284-24.995276-14.513386-26.607874-18.544882-26.607874-58.859842?0-42.733858?0-42.733858?25.801575-37.896063?14.513386?2.418898?70.148031?11.288189?123.36378?19.351181?96.755906?14.513386?96.755906?14.513386?106.431496?45.959055?4.837795?17.738583?9.675591?41.927559?9.67559?54.022047?0.806299?20.15748?13.707087?37.089764?21.770079?28.220473?2.418898-2.418898?0-33.864567-4.837795-70.148032-8.869291-62.891339-8.062992-67.729134?8.062992-84.661417?19.351181-20.96378?32.251969-60.472441?32.251968-102.4?0-63.697638?24.188976-72.566929?70.954331-24.188976?33.864567?34.670866?84.661417?54.022047?108.044095?41.12126?15.319685-8.062992?20.15748-23.382677?6.450393-23.382678-4.031496?0-8.062992-4.031496-8.062992-8.062992?0-4.837795?11.288189-8.062992?24.188977-8.062992?13.707087?0?24.188976-1.612598?24.188976-4.031496?0-9.675591-26.607874-57.247244-39.508661-69.341732-38.702362-39.508661-51.60315-66.922835-33.058268-73.373229?8.869291-2.418898?23.382677-96.755906?24.188976-149.165354?0-33.058268?0-33.058268?40.314961-42.733858?25.801575-6.450394?40.314961-13.707087?40.31496-21.770079?0-7.256693-7.256693-11.288189-17.738582-10.48189-10.48189?0.806299-22.576378?1.612598-26.607874?0.8063-10.48189-0.806299-5.644094-63.697638?4.837795-70.148032?8.869291-5.644094?9.675591-43.540157?0.806299-43.540157-4.031496?0-11.288189?8.062992-16.125984?17.738582zM689.385827?569.247244c10.48189?4.031496?11.288189?6.450394?2.418897?12.094488-16.125984?10.48189-30.63937?8.869291-30.63937-4.837795?0-12.900787?7.256693-15.319685?28.220473-7.256693zM637.782677?604.724409c10.48189?29.026772?33.864567?32.251969?60.472441?7.256693?17.738583-16.932283?17.738583-16.932283?29.833071?2.418898?7.256693?10.48189?10.48189?27.414173?8.062992?40.314961-4.031496?19.351181-8.062992?22.576378-33.864567?22.576378-24.188976?0-34.670866-5.644094-62.891338-37.896063-36.283465-39.508661-43.540157-58.859843-21.770079-58.859843?6.450394?0?16.125984?10.48189?20.15748?24.188976z?m-53.215748?66.116536c-3.225197?14.513386-7.256693?49.990551-9.67559?78.211024-4.031496?56.440945-9.675591?66.116535-47.571654?79.017322-26.607874?9.675591-99.981102-0.806299-99.981102-13.707086?0-3.225197?16.932283-8.062992?37.896063-10.48189?58.053543-6.450394?75.792126-30.63937?87.080315-120.944882?4.031496-31.445669?8.062992-37.896063?21.770078-37.896063?14.513386?0?15.319685?3.225197?10.48189?25.801575zM717.606299?693.417323c0?4.031496-4.031496?8.062992-8.869291?8.062992-4.031496?0-5.644094-4.031496-3.225197-8.062992?2.418898-4.837795?6.450394-8.062992?8.869291-8.062992?1.612598?0?3.225197?3.225197?3.225197?8.062992z?m-415.244094?72.566929c2.418898?4.031496?12.900787?8.062992?22.576378?8.062992?20.15748?0?54.022047?20.96378?54.022047?33.058268?0?19.351181-103.206299-16.932283-111.269291-39.508662-3.225197-11.288189?27.414173-12.900787?34.670866-1.612598z',
          ????'飛機':'path://M181.881905?610.06019l206.116571?12.580572-196.510476?387.413333h119.466667l365.421714-380.440381h229.961143c60.757333?0?152.478476-47.981714?152.478476-107.178666?0-59.14819-91.721143-107.178667-152.478476-107.178667h-229.863619L310.905905?34.816h-119.466667l196.510476?381.025524-223.085714?15.555047c-5.36381?0-10.48381?0.633905-15.652571?1.170286l-64.365715-69.241905H13.994667l54.223238?159.98781?0.877714?2.584381-55.100952?153.112381H84.845714l66.316191-71.387429?30.72?2.438095z',
          ????'火車':'path://M477.491?204.8a68.267?68.267?0?0?1?68.267?68.267v68.266A68.267?68.267?0?0?1?477.49?409.6h-102.4a68.267?68.267?0?0?1-68.266-68.267v-68.266A68.267?68.267?0?0?1?375.09?204.8h102.4z?m-102.4?136.533h102.4v-68.266h-102.4v68.266zM785.067?819.2H0v-68.267h750.353c116.736?2.902?274.671-42.325?473.77-135.714a68.267?68.267?0?0?0?26.864-101.069c-31.813-45.226-58.71-80.076-80.657-104.55H682.223a68.267?68.267?0?0?1-68.267-68.267v-68.266a68.267?68.267?0?0?1?68.267-68.267H918.8A1014.443?1014.443?0?0?0?409.395?68.267H0V0h409.293c392.533?0.273?726.46?173.807?925.764?512?9.626?24.644?12.63?48.845?9.148?72.602-3.55?23.722-21.504?48.708-53.897?74.922C1139.132?751.89?970.752?805.103?785.067?819.2z?m236.544-546.133H682.12v68.266h421.068a1026.867?1026.867?0?0?0-81.578-68.266zM68.267?204.8h102.4a68.267?68.267?0?0?1?68.266?68.267v68.266a68.267?68.267?0?0?1-68.266?68.267h-102.4A68.267?68.267?0?0?1?0?341.333v-68.266A68.267?68.267?0?0?1?68.267?204.8z?m0?136.533h102.4v-68.266h-102.4v68.266zM920.95?1024H0v-68.267h920.883V1024h0.068z',
          ????'船':'path://M98.1?811.8h510.1c78.1?0?304.4-37.9?382.6-265.1L72.6?685.5l25.5?126.3z?m650.4-378.9s-82.4-137.3-89.3-151.5c-6.7-14.2-25.5-12.7-25.5-12.7s-257.3?9.4-280.5?12.7c-20?2.8-25.5?9.2-25.5?25.2?0?27.9?38.2?43.3?38.2?88.4?0?18.5-12.8?110.4-12.8?110.4L276.8?518v-63s28.3-6.4?39.7-9.4c12.8-3.4?11.3-12.7?11.3-12.7v-12.7c0-18.5-25.5-12.7-25.5-12.7s-217?30.8-255.9?38c-32.9?6.1-25?25.8-25?25.8L59.9?635l943.6-164.2v-63.1l-255?25.2zM136.5?534l-63.7?12.7L60?496.2l76.5-12.7V534z?m101.9-12.6l-76.5?12.7V471l76.5-12.7v63.1z?m165.8-25.3V382.5c0-26.2-12.8-50.5-12.8-50.5l153-12.7c6.7?15?12.8?50.5?12.8?50.5L570?470.9l-165.8?25.2z?m204-37.8c-8.4-82-25.9-141.7-25.9-141.7l49.6-3c36.2?46.5?65.5?132?65.5?132l-89.2?12.7z',
          ????'汽車':'path://M740.288?548.256c-54?0-97.76?44.336-97.76?99.04s43.776?99.04?97.76?99.04?97.76-44.336?97.76-99.04-43.76-99.04-97.76-99.04z?m0?154.064c-30?0-54.304-24.64-54.304-55.024s24.32-55.024?54.304-55.024c30?0?54.304?24.64?54.304?55.024?0.016?30.4-24.304?55.024-54.304?55.024z?m-358.464-22H620.8v-44.016H381.824v44.016z?m456.224-220.096S620.8?249.552?229.744?372.192c0?0-13.088?3.808-31.392?12.208l-33.776-34.224v52.48c-14.864?9.392-30.16?21.136-43.456?35.552?0?0-86.896-6.288-86.896?88.048v66.032s-12.416?91.184?108.624?88.048V636.32h22.368c-0.4?3.616-0.64?7.28-0.64?11.008?0?54.704?43.776?99.04?97.76?99.04s97.76-44.336?97.76-99.04-43.776-99.04-97.76-99.04c-50.32?0-91.712?38.528-97.12?88.032-88.496-2.016-86.928-31.568-86.928-31.568v-75.76c0-60.288?57.216-49.664?57.216-49.664?39.472-38.4?120.4-75.76?120.4-75.76?355.248-99.824?582.128?100.704?582.128?100.704?61.904?1.36?108.624?60.56?108.624?60.56v53.76c-2.816?25.136-86.896?17.744-86.896?17.744v44.016h65.168s62.08?25.152?65.184-44.016v-66.032c0.016-0.032-6.192-72.352-152.064-110.08zM262.336?592.272c30?0?54.304?24.64?54.304?55.024s-24.32?55.024-54.304?55.024c-30?0-54.304-24.64-54.304-55.024s24.32-55.024?54.304-55.024z'
          }

          tl?=?Timeline()
          for?i?in?range(1977,2021):
          ????df_sub?=?df[df["year"]==i].sort_values(by="csum")
          ????cats_list?=?list(df_sub["cats"])
          ????csum_list?=?list(df_sub["csum"])
          ????color_list?=?list(df_sub["color"])
          ????y?=?[]
          ????for?j?in?range(5):
          ????????y.append(
          ????????????opts.BarItem(
          ????????????????name?=?cats_list[j],
          ????????????????value?=?csum_list[j],
          ????????????????itemstyle_opts?=?opts.ItemStyleOpts(color=color_list[j])
          ????????????)
          ????????)
          ????
          ????bar?=?(
          ????????Bar(init_opts=opts.InitOpts(width='720px',?height='320px'))
          ????????.add_xaxis(xaxis_data=cats_list)
          ????????.add_yaxis(series_name='',?yaxis_data=y,?label_opts?=?opts.LabelOpts(position="right",font_weight="bold"),category_gap=30,
          ???????????????????markpoint_opts?=?opts.MarkPointOpts(
          ???????????????????????data?=?[
          ???????????????????????????opts.MarkPointItem(name="",coord=[csum_list[0],cats_list[0]],symbol=symbols[cats_list[0]],
          ?????????????????????????????????????????????itemstyle_opts=opts.ItemStyleOpts(color=color_list[0],border_color="grey")),
          ???????????????????????????opts.MarkPointItem(name="",coord=[csum_list[1],cats_list[1]],symbol=symbols[cats_list[1]],
          ?????????????????????????????????????????????itemstyle_opts=opts.ItemStyleOpts(color=color_list[1],border_color="grey")),
          ???????????????????????????opts.MarkPointItem(name="",coord=[csum_list[2],cats_list[2]],symbol=symbols[cats_list[2]],
          ?????????????????????????????????????????????itemstyle_opts=opts.ItemStyleOpts(color=color_list[2],border_color="grey")),
          ???????????????????????????opts.MarkPointItem(name="",coord=[csum_list[3],cats_list[3]],symbol=symbols[cats_list[3]],
          ?????????????????????????????????????????????itemstyle_opts=opts.ItemStyleOpts(color=color_list[3],border_color="grey")),
          ???????????????????????????opts.MarkPointItem(name="",coord=[csum_list[4],cats_list[4]],symbol=symbols[cats_list[4]],
          ?????????????????????????????????????????????itemstyle_opts=opts.ItemStyleOpts(color=color_list[4],border_color="grey")),
          ???????????????????????]
          ???????????????????)
          ??????????????????)
          ????????.reversal_axis()
          ????????.set_global_opts(
          ????????????title_opts?=?opts.TitleOpts("看看誰跑得快(時間:{}?年)".format(i),pos_left=350,padding=[30,20]),
          ????????????xaxis_opts?=?opts.AxisOpts(max_=50000)
          ????????)
          ????)
          ????tl.add(bar,?"{}?年".format(i))
          ????tl.add_schema(play_interval=300,?is_loop_play=True)
          tl.render("c.html")

          結果如下:

          a2eae30fc8d32099f6ce9ae5c4c12b0b.webp

          5. 如何獲取圖形的矢量化地址

          觀察上述代碼,可以發(fā)現(xiàn)有類似于下圖這樣的代碼,這個是什么呢?其實就是這些標志的矢量化代碼,那么我們如何獲取這些小圖形的矢量化代碼呢?這里先提供給大家一個網(wǎng)站。

          獲取圖象的矢量化地址:http://suo.im/6dXHdH

          那么如何獲取圖形的矢量化地址呢?我們詳細講解一下他的步驟。

          ① 打開上述網(wǎng)址

          d18db6d71170805888ea15f1ff3d020b.webp

          ② 搜索你要展示的圖形

          bea624ace0d8078cfe635b81e1fcd9e9.webp

          ③ 選擇一個喜歡的圖形,下載其svg格式圖形

          d33d82e292802ba41a58dcfec2f33724.webp

          ④ 用“記事本”打開這個圖片文件

          a562b133f944d4f47b9ecc940b772390.webp

          ⑤ 復制它的path路徑

          9e2e0fac7daf66d49db94f6082473b25.webp???15bbbcf75916058e4cd01a32619eee25.webp



          往期推薦



          微信拍一拍,每天賺一頓早飯錢?

          微信小程序控制樹莓派(一)

          從自學 Python 轉做相關開發(fā),我的自學回顧

          如何用 Python 寫個登陸窗口?

          微信紅包封面背后的秘密



          瀏覽 24
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  69久人妻无码精品一区 | 人人色在线视频播放 | 99香蕉精品99久久久久久 | 欧美日韩一级A片免费观看 | 日韩无码网 |