Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Post History

75%
+4 −0
Q&A How to plot a table from a pandas dataframe

How do I generate a table in its own figure from a pandas dataframe? I can generate a bar plot with a table below it, like so: import pandas as pd import numpy as np import matplotlib.pyplot as...

1 answer  ·  posted 4y ago by mcp‭  ·  edited 25d ago by Karl Knechtel‭

Question python plot pandas matplotlib
#8: Post edited by user avatar Karl Knechtel‭ · 2026-08-24T00:46:21Z (25 days ago)
Minor copyediting for better flow
  • How do I generate a table in its own figure from a pandas dataframe?
  • I can generate a bar plot with a table below it, but I don't want the plot, I just want the table. I would hope for something like `df.plot.table()`.
  • ```py
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • df.plot.bar(table=True) # don't want plot, just want table
  • # df.plot.table() # what I would hope for
  • plt.show()
  • ```
  • ![Busy Bar with Table](https://software.codidact.com/uploads/QnnMdP6oCqMrPzGcrYmm6Kac)
  • ## Notes
  • Notice the table appended to the graph above is hardly legible and gets
  • cut off. I am not looking to fix legibility as is though, I need a
  • separate figure for use in a paper.
  • I do not want to have to mess with generating matplotlib axes objects
  • like for
  • [pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html)
  • or in [this example](https://www.statology.org/matplotlib-table/).
  • I want to be able to create the table just using and providing the df,
  • as opposed to manually formatting the data into a latex table.
  • How do I generate a table in its own figure from a pandas dataframe?
  • I can generate a bar plot with a table below it, like so:
  • ```py
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • df.plot.bar(table=True)
  • plt.show()
  • ```
  • Which produces:
  • ![Busy Bar with Table](https://software.codidact.com/uploads/QnnMdP6oCqMrPzGcrYmm6Kac)
  • However, **I don't want the plot, just the table**. (The table appended to the graph above is barely legible and gets
  • cut off. I am not looking to fix legibility as is though; I need a separate figure for use in a paper.)
  • I would hope for something like `df.plot.table()`. I would rather not mess with generating matplotlib axes objects
  • like for [pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html) or as seen in [this example](https://www.statology.org/matplotlib-table/).
  • I want to be able to create the table just using and providing the dataframe, as opposed to manually formatting the data into a LaTeX table.
#7: Post edited by user avatar wjandrea‭ · 2026-08-24T00:41:19Z (25 days ago)
Move explanation to the top. Elaborate. Remove unnecessary headers. Minor code style improvements. H1 should be reserved for question title.
  • How to plot table from pandas dataframe
  • How to plot a table from a pandas dataframe
  • # MWE
  • ```py
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • df.plot.bar(table=True) # don't want plot, just want table
  • # df.plot.table() # what I would hope
  • plt.show()
  • ```
  • ![Busy Bar with Table](https://software.codidact.com/uploads/QnnMdP6oCqMrPzGcrYmm6Kac)
  • # Question
  • How do I generate a table in its own figure from a pandas dataframe?
  • # Notes
  • Notice the table appended to the graph above is hardly legible and gets
  • cut off. I am not looking to fix legibility as is though, I need a
  • separate figure for use in a paper.
  • I do not want to have to mess with generating matplotlib axes objects
  • like for
  • [pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html)
  • or in [this example](https://www.statology.org/matplotlib-table/).
  • I want to be able to create the table just using and providing the df,
  • as opposed to manually formatting the data into a latex table.
  • How do I generate a table in its own figure from a pandas dataframe?
  • I can generate a bar plot with a table below it, but I don't want the plot, I just want the table. I would hope for something like `df.plot.table()`.
  • ```py
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • df.plot.bar(table=True) # don't want plot, just want table
  • # df.plot.table() # what I would hope for
  • plt.show()
  • ```
  • ![Busy Bar with Table](https://software.codidact.com/uploads/QnnMdP6oCqMrPzGcrYmm6Kac)
  • ## Notes
  • Notice the table appended to the graph above is hardly legible and gets
  • cut off. I am not looking to fix legibility as is though, I need a
  • separate figure for use in a paper.
  • I do not want to have to mess with generating matplotlib axes objects
  • like for
  • [pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html)
  • or in [this example](https://www.statology.org/matplotlib-table/).
  • I want to be able to create the table just using and providing the df,
  • as opposed to manually formatting the data into a latex table.
#6: Post edited by user avatar Alexei‭ · 2025-05-22T06:33:19Z (over 1 year ago)
removed ambiguous tag
#5: Nominated for promotion by user avatar Alexei‭ · 2022-08-07T05:35:06Z (about 4 years ago)
#4: Post edited by user avatar mcp‭ · 2022-07-22T19:30:15Z (about 4 years ago)
Add notes header
  • # MWE
  • ```py
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • df.plot.bar(table=True) # don't want plot, just want table
  • # df.plot.table() # what I would hope
  • plt.show()
  • ```
  • ![Busy Bar with Table](https://software.codidact.com/uploads/QnnMdP6oCqMrPzGcrYmm6Kac)
  • # Question
  • How do I generate a table in its own figure from a pandas dataframe?
  • Notice the table appended to the graph above is hardly legible and gets
  • cut off. I am not looking to fix legibility as is though, I need a
  • separate figure for use in a paper.
  • I do not want to have to mess with generating matplotlib axes objects
  • like for
  • [pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html)
  • or in [this example](https://www.statology.org/matplotlib-table/).
  • I want to be able to create the table just using and providing the df,
  • as opposed to manually formatting the data into a latex table.
  • # MWE
  • ```py
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • df.plot.bar(table=True) # don't want plot, just want table
  • # df.plot.table() # what I would hope
  • plt.show()
  • ```
  • ![Busy Bar with Table](https://software.codidact.com/uploads/QnnMdP6oCqMrPzGcrYmm6Kac)
  • # Question
  • How do I generate a table in its own figure from a pandas dataframe?
  • # Notes
  • Notice the table appended to the graph above is hardly legible and gets
  • cut off. I am not looking to fix legibility as is though, I need a
  • separate figure for use in a paper.
  • I do not want to have to mess with generating matplotlib axes objects
  • like for
  • [pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html)
  • or in [this example](https://www.statology.org/matplotlib-table/).
  • I want to be able to create the table just using and providing the df,
  • as opposed to manually formatting the data into a latex table.
#3: Post edited by user avatar mcp‭ · 2022-07-22T19:18:28Z (about 4 years ago)
Add note about legibility
  • # MWE
  • ```py
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • df.plot.bar(table=True) # don't want plot, just want table
  • # df.plot.table() # what I would hope
  • plt.show()
  • ```
  • ![Busy Bar with Table](https://software.codidact.com/uploads/QnnMdP6oCqMrPzGcrYmm6Kac)
  • # Question
  • How do I generate a table in its own figure from a pandas dataframe?
  • I do not want to have to mess with generating matplotlib axes objects
  • like for
  • [pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html).
  • I want to be able to create the table just using and providing the df,
  • as opposed to manually formatting the data into a latex table.[]()
  • # MWE
  • ```py
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • df.plot.bar(table=True) # don't want plot, just want table
  • # df.plot.table() # what I would hope
  • plt.show()
  • ```
  • ![Busy Bar with Table](https://software.codidact.com/uploads/QnnMdP6oCqMrPzGcrYmm6Kac)
  • # Question
  • How do I generate a table in its own figure from a pandas dataframe?
  • Notice the table appended to the graph above is hardly legible and gets
  • cut off. I am not looking to fix legibility as is though, I need a
  • separate figure for use in a paper.
  • I do not want to have to mess with generating matplotlib axes objects
  • like for
  • [pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html)
  • or in [this example](https://www.statology.org/matplotlib-table/).
  • I want to be able to create the table just using and providing the df,
  • as opposed to manually formatting the data into a latex table.
#2: Post edited by user avatar mcp‭ · 2022-07-22T19:14:36Z (about 4 years ago)
Add output image
  • # MWE
  • ```py
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • df.plot.bar(table=True) # don't want plot, just want table
  • # df.plot.table() # what I would hope
  • plt.show()
  • ```
  • # Question
  • How do I generate a table in its own figure from a pandas dataframe?
  • I do not want to have to mess with generating matplotlib axes objects
  • like for
  • [pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html).
  • I want to be able to create the table just using and providing the df,
  • as opposed to manually formatting the data into a latex table.[]()
  • # MWE
  • ```py
  • import pandas as pd
  • import numpy as np
  • import matplotlib.pyplot as plt
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • df.plot.bar(table=True) # don't want plot, just want table
  • # df.plot.table() # what I would hope
  • plt.show()
  • ```
  • ![Busy Bar with Table](https://software.codidact.com/uploads/QnnMdP6oCqMrPzGcrYmm6Kac)
  • # Question
  • How do I generate a table in its own figure from a pandas dataframe?
  • I do not want to have to mess with generating matplotlib axes objects
  • like for
  • [pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html).
  • I want to be able to create the table just using and providing the df,
  • as opposed to manually formatting the data into a latex table.[]()
#1: Initial revision by user avatar mcp‭ · 2022-07-22T19:12:18Z (about 4 years ago)
How to plot table from pandas dataframe
# MWE
```py
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt


df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
df.plot.bar(table=True) # don't want plot, just want table
# df.plot.table() # what I would hope
plt.show()
```

# Question
How do I generate a table in its own figure from a pandas dataframe? 

I do not want to have to mess with generating matplotlib axes objects
like for
[pandas.plotting.table()](https://pandas.pydata.org/docs/reference/api/pandas.plotting.table.html).

I want to be able to create the table just using and providing the df,
as opposed to manually formatting the data into a latex table.[]()