首页 > 解决方案 > 如何使用包含 3 种类型点的 zeppelin 绘制散点图

问题描述

我正在使用 spark 解释器使用 zeppelin 笔记本,我想要分散但我想让这些点有 3 种不同的颜色。

我在 zeppelin 中集成了 matplotlib,因为在同一个图中绘制不同的 pandas 数据框很简单。

      import matplotlib.pyplot as plt
      from matplotlib.pyplot import figure

      # get object from ResourcePool

      MemArb=sqlContext.table("MemArb")
      VoisArb=sqlContext.table("VoisArb")
      SousTest=sqlContext.table("SousTest")

      MemArb=MemArb.toPandas()
      VoisArb=VoisArb.toPandas()
      SousTest=SousTest.toPandas()

      x_client = SousTest["derx"].
      astype('float').iloc[0]
      y_client = SousTest["dtrx"].
      astype('float').iloc[0]

      x_memeArbre = MemArb['valx'].astype('float')
      y_memeArbre = MemArb['valOx'].astype('float')
      x_voisinArbre = VoisArb['vax'].astype('float')
      y_voisinArbre = VoisArb['valOx'].astype('float')

      y_voisinArbre.count()
      figure(num=None, figsize=(10, 8), dpi=80, facecolor='w', edgecolor='k')
      plt.scatter(x_client, y_client, s=90, color='b')
      plt.scatter(x_memeArbre,y_memeArbre,s=10, color='r')
      plt.scatter(x_voisinArbre, y_voisinArbre, s=10, color='b')
      plt.title('Nuage de points avec Matplotlib')
      plt.xlabel('ONx')
      plt.ylabel('OLx')
      plt.show()

有没有解决方案可以在没有 matplotlib 的情况下使用 Zeppelin 获得相同的结果

标签: matplotlibapache-zeppelin

解决方案


您可以createOrReplaceTempView在数据帧上使用函数,然后编写 SQL 查询来获取数据。当前的 Zeppelin (0.8.0) 在提供的内置可视化中具有散点图。只需确保每个数据点都有相应的指示颜色的列。


推荐阅读