Typing commands into a chatbot is convenient, but speaking to one feels far more natural. As technology evolves, the boundary between human conversation and machine understanding continues to blur. Many experts now encourage users to talk to generative AI models rather than simply type, helping us move beyond treating these tools as glorified search engines.
According to innovation and AI researcher Ethan Mollick, talking to AI changes the entire dynamic of human-computer interaction. “If you haven’t tried voice chatting with an AI model to see the appeal, you should,” he says. “Anthropomorphism is the future, in ways good and bad.”
And now, the world of R programming and data visualization is joining this revolution. Meet ggbot2, a voice-enabled chatbot designed for R users. It allows you to speak naturally with your computer and watch your words transform into elegant ggplot2 visualizations.
Read More: Cisco Champions a Bold Leap in AI Security with Its Powerful Open-Source Coding Framework
Bringing Voice to the Tidyverse
The integration of conversational AI into R is a game-changer for data scientists. During the 2025 posit::conf conference, ggbot2 was unveiled as one of the most exciting innovations in the Tidyverse ecosystem. Instead of typing lines of code, users can now speak their intentions aloud—and watch the bot generate accurate ggplot2 visualizations instantly.
Posit’s Chief Scientist, Hadley Wickham, the creator of ggplot2, described this shift perfectly in his keynote address. “Speech is a very fast and fluid interaction,” he said. “My goal has always been for the code to get out of the way and for you to express your ideas so you can interact with your data as quickly as possible.”
Simply tell ggbot2 what you want—like “Show population change by region from 2010 to 2020”—and it responds with a visualization and the accompanying R code. The experience is not only fast but surprisingly intuitive.
What Makes ggbot2 Work
A week after the conference, Posit released the ggbot2 R package publicly, allowing users to test this futuristic tool themselves. ggbot2 is powered by shinyrealtime, a package that connects OpenAI’s Realtime API with Shiny applications built in R or Python.
This API enables low-latency, conversational voice chats—meaning there’s almost no lag between speaking your request and seeing results. It can also handle interruptions gracefully, so you can stop mid-sentence and adjust your query naturally. To use ggbot2 or shinyrealtime, you’ll need an OpenAI API key for authentication and usage tracking.
Getting Started: Setting Up ggbot2
Installing and using ggbot2 is refreshingly simple. You can download it from GitHub and start creating interactive data visualizations almost immediately.
Once the package is loaded, the ggbot2 Shiny app opens in your browser, where it listens to your microphone. Remember—it must run in a full browser (like Chrome or Firefox) rather than an IDE’s built-in viewer, since microphone access is restricted inside IDE panels.
After launching, you can talk to ggbot2 using your own datasets. For example, load population data for different U.S. regions and simply say, “I’d like to visualize population change between 2010 and 2020.” Within seconds, you’ll see both the bar chart and the R code that generated it.
Then, refine it further through conversation—say, “Sort the bars from largest to smallest” or “Make the axis text larger.” The system updates instantly, maintaining a fluid, human-like dialogue.
Beyond Basic Commands: Exploring Complex Visualizations
While ggbot2 handles simple tasks effortlessly, it can also tackle more advanced visualization requests. However, some R knowledge still helps. For instance, when asked to create a U.S. map, the system initially returned an error indicating a missing package (“ggthemes”). Experienced R users would immediately recognize that the package needs to be installed or loaded first, but beginners might be confused.
Even Wickham admitted during his demonstration that this isn’t a tool for complete novices—yet. “You couldn’t just give this to anyone,” he said. “It benefits from my expertise as a data scientist. Sometimes it uses unusual ggplot2 features, and I guide it back. But I’m no longer limited by what I remember about ggplot2 syntax.”
That’s precisely the appeal. Even experts who know ggplot2 inside out find ggbot2 helpful because it automates tedious tasks and frees up mental space for creativity.
A Real Example: Mapping Population Changes
To test the system’s potential, you could import a dataset of U.S. state populations and ask:
“Make a map showing population percent change from 2010 to 2020.”
In seconds, ggbot2 would generate a detailed choropleth map. While it currently focuses on the 48 contiguous states, it’s a strong demonstration of what’s possible. Including Alaska, Hawaii, or Puerto Rico as insets requires a few extra steps—but that’s expected in this early version.
The app also displays estimated usage costs per session, since the OpenAI Realtime API operates on a token-based pricing model. Input tokens cost around $4 per million, while outputs cost $16 per million. Although affordable for short experiments, it’s worth monitoring usage if you plan to run long sessions or multiple voice interactions.
Expanding Capabilities with Shinyrealtime
If you want to go beyond R, the shinyrealtime framework opens even more possibilities. This package lets you build Shiny apps that can generate both R and Python visualization code.
Within the GitHub repository, you’ll find demo applications for testing conversational interfaces. With shinyrealtime, you can even instruct the bot to create visualizations in Python—bridging two powerful data science languages.
For example, saying, “Create an interesting visualization of the economics dataset in Python” can generate fully functional Matplotlib and Pandas code, complete with dual Y-axes and labeled plots. You can then adapt this code for standalone use by loading your own CSV files.
Fine-Tuning for Custom Data
If you’d like to use your own datasets instead of the default demo frames, you can edit the app.R file directly. Replace the predefined data (such as mpg, diamonds, or iris) with your own CSV imports. This small customization allows you to experiment with voice-driven analytics on any dataset—sales records, research data, or survey responses.
Once configured, simply run the app and open it in a browser. Your voice commands will now generate visualizations from your personal datasets, giving you an entirely hands-free approach to data exploration.
Strengths and Limitations
Advantages of ggbot2 and shinyrealtime:
- Enables natural, fast, and intuitive data interaction.
- Reduces the need for manual coding and syntax memorization.
- Automatically generates clean, editable code for further customization.
- Provides a hands-free, conversational approach to data exploration.
Limitations to keep in mind:
- Requires a working microphone and compatible browser.
- Some R knowledge helps when troubleshooting package or syntax errors.
- Advanced visualizations like complex maps still require manual adjustment.
- Token-based API pricing can accumulate costs during long sessions.
Even with these challenges, ggbot2 represents a massive step forward for R users, merging speech recognition, data visualization, and AI reasoning into one seamless experience.
The Future of Conversational Data Science
The rise of voice-driven tools like ggbot2 marks a new era for interactive analytics. Instead of writing pages of code, users can simply describe what they want. Data visualization becomes conversational—fast, fluid, and human-like.
This shift doesn’t just improve productivity; it democratizes data science. Non-programmers, researchers, and analysts who find coding intimidating can now explore data through dialogue. Meanwhile, experts gain a more natural workflow, where creativity isn’t constrained by syntax.
As the technology matures, expect these tools to integrate even more deeply with cloud platforms, dashboards, and notebooks. Soon, you may not just talk to your chatbot—you’ll have entire AI copilots capable of generating dashboards, explaining insights, and recommending new ways to visualize trends, all through speech.
Hadley Wickham summarized it best: “The goal isn’t to replace coding but to remove friction between your thoughts and the visualization. Code should serve creativity, not limit it.”
Frequently Asked Questions:
What is an R-powered data visualization chatbot?
An R-powered data visualization chatbot is an AI-driven tool that lets users create data visualizations using voice or text commands. It combines R programming, ggplot2, and natural language processing to generate plots and code automatically.
How does the ggbot2 chatbot work?
ggbot2 uses R’s Shiny framework integrated with OpenAI’s Realtime API. Users can speak commands such as “Show me a bar chart of population growth,” and the bot generates both the visualization and the underlying R code using ggplot2.
What makes ggbot2 unique compared to traditional R tools?
Unlike traditional coding interfaces, ggbot2 allows voice interaction—making the data visualization process faster, more intuitive, and beginner-friendly. It reduces manual coding and makes R analytics more conversational.
Do I need coding experience to use ggbot2?
Basic R knowledge is helpful but not required for simple tasks. However, understanding R and ggplot2 functions can enhance your experience, especially when handling complex or customized data visualizations.
Can ggbot2 work with Python too?
Yes. Through the shinyrealtime package, ggbot2 can generate both R and Python visualization code, making it versatile for multi-language data science workflows.
What is the role of the shinyrealtime package?
shinyrealtime connects R Shiny applications with OpenAI’s Realtime API. It enables live conversational AI, allowing apps to understand, respond, and even speak back to users in real time.
Is using ggbot2 expensive?
It depends on how much you use it. OpenAI’s Realtime API has a pay-per-token model. ggbot2 provides cost estimates within the app, helping users monitor and control API expenses during sessions.
Conclusion
The rise of conversational AI in data science marks a revolutionary shift in how we interact with data. Tools like ggbot2 and shinyrealtime are breaking traditional coding barriers, transforming data visualization into a smooth, voice-driven experience. By blending the analytical power of R with the intuitive ease of natural conversation, these innovations empower professionals and beginners alike to explore insights faster and more creatively. As AI technology continues to evolve, intelligent voice-enabled tools will redefine the boundaries of productivity—making data analysis not just efficient, but truly human-centered.

